【问题标题】:Android Studio ListViewAndroid Studio 列表视图
【发布时间】:2015-07-07 10:52:21
【问题描述】:

我是 Android 开发新手,我正在创建一个项目,其中包含一个包含 2 个表的数据库。

public class DbOpenHelper extends SQLiteOpenHelper{

private static final String DATABSE_NAME = "ExpenseManagerDB";
private static final int DATABASE_VERSION = 1;

public static final String TABLE_PEOPLE = "people";
public static final String COLUMN_ID = "id";
public static final String COLUMN_NAME = "name";
public static final String COLUMN_TP = "tp";

public static final String TABLE_TRANSACTIONS = "transactions";
public static final String COLUMN_TID = "tid";
public static final String COLUMN_PID = "pid";
public static final String COLUMN_DESC = "desc";
public static final String COLUMN_AMOUNT = "amount";
public static final String COLUMN_DT = "dt";

private static final String TABLE_CREATE_PEOPLE = "CREATE TABLE " + TABLE_PEOPLE + " (" +
        COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
        COLUMN_NAME + " TEXT, " +
        COLUMN_TP + " TEXT )";

private static final String TABLE_CREATE_TRANSACTIONS = "CREATE TABLE " + TABLE_TRANSACTIONS + " (" +
        COLUMN_TID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
        COLUMN_PID + " INTEGER, " +
        COLUMN_DESC + " TEXT, " +
        COLUMN_AMOUNT + " INTEGER "+
        COLUMN_DT + " TEXT )";

public DbOpenHelper(Context context) {
    super(context, DATABSE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
    sqLiteDatabase.execSQL(TABLE_CREATE_PEOPLE);
    sqLiteDatabase.execSQL(TABLE_CREATE_TRANSACTIONS);
}

@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
    sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + TABLE_PEOPLE);
    sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + TABLE_TRANSACTIONS);
    onCreate(sqLiteDatabase);
}


我创建了一个 ListView,我想显示人员表中的名称和交易表中每个用户的总金额。我知道该怎么做。
之后,我想单击列表中的某个名称并将其定向到另一个活动,在该活动中我只能为该用户输入交易,这意味着我必须将 listView 中该项目的 ID 带到新活动。
这样做的最佳方法是什么。简单地说我想了解如何获取与列表中名称相关的表中的数据(名称可以重复,只有is是主键)。
谢谢。

【问题讨论】:

    标签: android sqlite android-listview android-studio


    【解决方案1】:

    就我而言,您应该使用从表中获得的对象创建一个AdapterView。因此,当您单击任何项​​目时,您可以获得该对象,然后您可以使用名称、id 等等。之后,您可以序列化该对象并将其发送到活动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-10
      • 1970-01-01
      • 2015-10-31
      相关资源
      最近更新 更多