Android 如何将onClick事件赋予动态生成数据的listview

Android 如何将onClick事件赋予动态生成数据的listview,android,listview,Android,Listview,我是一个android初学者。 我试图给listview中的数据赋予onClick事件。数据来自mysql数据库,存储在sqlite中,并显示在屏幕上。我不知道如何为该数据提供onClick事件。请给我提个建议 提前谢谢 我正在尝试开发一个时间表应用程序。当用户点击按钮时,他当天必须参加的课程必须显示在列表视图中。当他点击该类时,他必须获得该类的详细信息 公开课活动{ private ArrayList<String> results = new ArrayList<Strin

我是一个android初学者。 我试图给listview中的数据赋予onClick事件。数据来自mysql数据库,存储在sqlite中,并显示在屏幕上。我不知道如何为该数据提供onClick事件。请给我提个建议

提前谢谢

我正在尝试开发一个时间表应用程序。当用户点击按钮时,他当天必须参加的课程必须显示在列表视图中。当他点击该类时,他必须获得该类的详细信息

公开课活动{

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);
    }
});

我希望它能帮助你

共享适配器类的代码。共享适配器类的代码可能重复。共享适配器类的代码可能重复