如何将数据库中的数据显示到两个Textview中

how to display data from a database into two Textview

我正在尝试开发一个在数据库中保存点和日期的应用程序,但是,我想在列表中显示绿色的点和白色的日期。点和时间点在彼此之上。我的代码: Class 数据库 public class 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;
    }

和我的 class 列表

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。

你应该使用 CustomAdapterextends BaseAdapter 这是我的示例 TodoAppCustomAdapter.

你必须在

中给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,仅此而已:-)