【发布时间】:2021-01-05 13:16:50
【问题描述】:
在我的应用程序中,来自 Diaglogbox 的用户输入数据已存储到 Sqlite 中,并希望在列表视图中与复选框一起显示这些数据
例子:
我在 sqlite 中存储了用户输入,但我不知道如何在列表视图中显示这些保存的名称以及复选框
如何实现我是 Android 新手!
数据库:
//在Listview中与CheckBox一起显示这些数据
// Table 2
private static final String TABLE2_NAME = "listitem_name";
public static final String COLUMN1_ID = "I_ID";
public static final String COLUMN2_TITLE = "LISTITEMS_NAME";
onCreate(){
String query1 =
"CREATE TABLE IF NOT EXISTS " + TABLE2_NAME + "("
+ COLUMN1_ID + " INTEGER PRIMARY KEY ,"
+ COLUMN2_TITLE + " TEXT ,"
+ COLUMN_ID + " INTEGER, " + "FOREIGN KEY("+
COLUMN_ID +") "
+ "REFERENCES " + TABLE_NAME +"("+COLUMN_ID +")"+ ");";
sqLiteDatabase.execSQL(query1);
}
Cursor readlistAllData() {
String query = "SELECT * FROM " + TABLE2_NAME;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = null;
if (db != null) {
cursor = db.rawQuery(query, null);
}
return cursor;
}
活动类
public class AddItems extends AppCompatActivity {
Toolbar mToolbar;
DatabaseHelper myDB;
ArrayList<String> listitems;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_items);
mToolbar = findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab_button);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ShowPopup();
}
});
myDB = new DatabaseHelper(AddItems.this);
listitems = new ArrayList<>();
DisplayList();
}
private void DisplayList(){
Cursor cursor = myDB.readlistAllData();
if (cursor.getCount() == 0) {
Toast.makeText(this, "No Data.", Toast.LENGTH_SHORT).show();
} else {
while (cursor.moveToNext()) {
listitems.add(cursor.getString(1));
}
}
}
private void ShowPopup() {
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.custom_dialog);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.show();
final EditText lname = dialog.findViewById(R.id.list_Edit_txt);
Button add = dialog.findViewById(R.id.add);
Button cancel = dialog.findViewById(R.id.cancel);
cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
}
});
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Toast.makeText(AddItems.this, "add called", Toast.LENGTH_SHORT).show();
String name = lname.getText().toString();
if (!TextUtils.isEmpty(lname.getText().toString())) {
DatabaseHelper db = new DatabaseHelper(getApplicationContext());
db.itemlist(name);
Toast.makeText(AddItems.this, "Added Sucessfully !", Toast.LENGTH_SHORT).show();
ShowPopup();
} else
Toast.makeText(AddItems.this, "The name cannot be empty!", Toast.LENGTH_LONG).show();
}
});
}
【问题讨论】:
标签: android checkbox android-listview