Android 如何将onClick事件赋予动态生成数据的listview
我是一个android初学者。 我试图给listview中的数据赋予onClick事件。数据来自mysql数据库,存储在sqlite中,并显示在屏幕上。我不知道如何为该数据提供onClick事件。请给我提个建议 提前谢谢 我正在尝试开发一个时间表应用程序。当用户点击按钮时,他当天必须参加的课程必须显示在列表视图中。当他点击该类时,他必须获得该类的详细信息 公开课活动{Android 如何将onClick事件赋予动态生成数据的listview,android,listview,Android,Listview,我是一个android初学者。 我试图给listview中的数据赋予onClick事件。数据来自mysql数据库,存储在sqlite中,并显示在屏幕上。我不知道如何为该数据提供onClick事件。请给我提个建议 提前谢谢 我正在尝试开发一个时间表应用程序。当用户点击按钮时,他当天必须参加的课程必须显示在列表视图中。当他点击该类时,他必须获得该类的详细信息 公开课活动{ private ArrayList<String> results = new ArrayList<Strin
private ArrayList<String> results = new ArrayList<String>();
private String DATABASE_TABLE = SQLiteDB.DATABASE_TABLE;
private SQLiteDatabase newDB;
private static final String KEY_PERIODNO = "periodno";
private static final String KEY_PERIODNAME = "periodname";
private String id;
TextView periodno,periodname;
SQLiteDB sqlite_obj;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tuesday);
sqlite_obj = new SQLiteDB(tuesday.this);
Intent previous = getIntent();
id = previous.getStringExtra("id");
Log.i("id: ", " " + id);
select_seqlite();
}
private void select_seqlite() {
sqlite_obj.open();
Cursor c = sqlite_obj.gettuesdayData();
if (c.moveToFirst())
{
do {
DisplayContact(c);
} while (c.moveToNext());
}
sqlite_obj.close();
}
private void DisplayContact(Cursor c) {
Toast.makeText(getBaseContext(),
"\n" +"periodno: " + c.getString(2)+ "\n"+"periodname: " + c.getString(3)+ "\n", Toast.LENGTH_LONG).show();
TextView tview = new TextView(this);
tview.setText(" " + c.getString(2) +
" "+ c.getString(3));
getListView().addHeaderView(tview);
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.activity_list_item,results));
getListView().setTextFilterEnabled(true);}}
private ArrayList results=new ArrayList();
私有字符串数据库_TABLE=SQLiteDB.DATABASE_TABLE;
私有sqlitedatabasenewdb;
私有静态最终字符串密钥\u PERIODNO=“PERIODNO”;
私有静态最终字符串键\u PERIODNAME=“PERIODNAME”;
私有字符串id;
TextView periodno,periodname;
SQLiteDB sqlite_obj;
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(右布局,星期二);
sqlite_obj=新的SQLiteDB(星期二,本周);
Intent previous=getIntent();
id=先前的.getStringExtra(“id”);
Log.i(“id:”,“+id”);
选择_seqlite();
}
私有void select_seqlite(){
sqlite_obj.open();
游标c=sqlite_obj.gettuesdayData();
if(c.moveToFirst())
{
做{
显示联系人(c);
}而(c.moveToNext());
}
sqlite_obj.close();
}
专用void显示联系人(光标c){
Toast.makeText(getBaseContext(),
“\n”+“periodno:”+c.getString(2)+“\n”+“periodname:”+c.getString(3)+“\n”,Toast.LENGTH_LONG).show();
TextView tview=新的TextView(此);
tview.setText(“+c.getString(2)+
“”+c.getString(3));
getListView().addHeaderView(tview);
setListAdapter(新阵列适配器)(此,
android.R.layout.activity_list_item,results));
getListView().setTextFilterEnabled(true);}
在活动中定义listview
写下面的代码
listview.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?>adapter,View v, int position){
ItemClicked item = adapter.getItemAtPosition(position);
Intent intent = new Intent(Activity.this,destinationActivity.class);
//based on item add info to intent
startActivity(intent);
}
});
我希望它能帮助你 在活动中定义listview 写下面的代码
listview.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?>adapter,View v, int position){
ItemClicked item = adapter.getItemAtPosition(position);
Intent intent = new Intent(Activity.this,destinationActivity.class);
//based on item add info to intent
startActivity(intent);
}
});
我希望它能帮助你 共享适配器类的代码。共享适配器类的代码可能重复。共享适配器类的代码可能重复