我正在尝试开发一个在数据库中保存点和日期的应用程序,但是,我想在列表中显示绿色点和白色日期。点和时间点在彼此之上。我的代码: 班级数据库 公共类BaseDeDatos扩展了SQLiteOpenHelper {
public BaseDeDatos(Context context) {
super(context, "puntuaciones", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE puntuaciones (puntos INTEGER,fecha VARCHAR)");
}
public void save(int points,String date){
SQLiteDatabase db = getWritableDatabase();
db.execSQL("INSERT INTO puntuaciones VALUES("+points+","+"'"+date+"')");
db.close();
}
public Vector<String> listPoints(int cantidad) {
Vector<String> result = new Vector<String>();
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT puntos, fecha FROM " +
"puntuaciones ORDER BY puntos DESC LIMIT " +cantidad, null);
while (cursor.moveToNext()){
result.add(cursor.getInt(0)+cursor.getString(1));
}
cursor.close();
db.close();
return result;
}
和我的班级列表
ListView lista;
BaseDeDatos bd;
Vector maxRegis;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maximos_registros);
lista=(ListView)findViewById(R.id.lista);
lista.setBackgroundColor(color.Aquamarine);
maxRegis= new Vector();
bd= new BaseDeDatos(this);
maxRegis=bd.listaPuntos(10);
ArrayAdapter adaptador= new ArrayAdapter(this,R.layout.elemento_lista,R.id.tv1,maxRegis);
//MyAdapter adaptador= new MyAdapter(this,bd);
lista.setAdapter(adaptador);
}
和R.layout.elemento_lista的代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight" >
<TextView
android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="10dp"
android:layout_marginLeft="40dp"
android:inputType="textCapCharacters"
android:textColor="#FFD700"
android:textStyle="bold"
android:text="" />
<TextView
android:id="@+id/tv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/tv1"
android:layout_alignParentBottom="true"
android:textStyle="italic"
android:text="" />
如果我使一个特殊的适配器显示什么,但与ArrayAdapter显示相同的TextView。
答案 0 :(得分:0)
您应该使用CustomAdapter
extends BaseAdapter
以下是我的示例TodoApp CustomAdapter
。
您必须在
中充气R.layout.elemento_lista
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
convertView = inflater.inflate(R.layout.elemento_lista, null);
}
TextView title = (TextView) convertView.findViewById(R.id.todo_title);
title.setText(getItem(position));
return convertView;
}
然后按id,setText找到你的TextView
,那就是全部: - )