我有一个包含团队名称和团队编号的数据库(都存储为字符串 - 数字有时包含字母)
我想要它,所以当您单击“打开”按钮时,它会弹出一个包含所有团队名称和号码的弹出窗口,如果您单击一个,它将关闭弹出窗口并将两个 editText 设置为名称& 数字。
Dialog d = new Dialog(this);
ScoutingFormData info = new ScoutingFormData(this);
info.open();
ScrollView scr = info.getData();
info.close();
d.addContentView(scr, null);
d.show();
那是来自主程序,当您单击“打开”时,会发生这种情况。ScoutingFormData 是我的 SQLite 数据库,这里是 getData:
public ScrollView getData() {
String[] columns=new String[]{KEY_ROWID,KEY_NAME,KEY_NUM};
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
ScrollView result=new ScrollView(null);
int iID = c.getColumnIndex(KEY_ROWID);
int iName = c.getColumnIndex(KEY_NAME);
int iNum = c.getColumnIndex(KEY_NUM);
LinearLayout vertlay = new LinearLayout(null);
vertlay.setOrientation(LinearLayout.VERTICAL);
for (c.moveToFirst(); !c.isAfterLast();c.moveToNext()){
TextView tv=new TextView(null);
tv.setText(c.getString(iNum)+" "+c.getString(iName));
vertlay.addView(tv);
}
result.addView(vertlay);
return result;
}
所以这会构建对话框,但是我如何制作它以便主程序(顶部代码)知道何时单击了这些 TextView 之一?
附带问题:在制作视图时(如 LinearLayout vertlay = new LinearLayout(null);),我应该使用什么上下文?我不完全理解“上下文”是什么,所以我真的不知道用什么替换“null”。