从适配器设置 OnItemClickListener Class
Setting OnItemClickListener from Adapter Class
我的 MainActivity.java 中有一个 ListView
。该列表视图的适配器是从 AsyncTask
class 中设置的,它从 sqlite
数据库中提取数据。现在我需要为 ListView
设置 OnItemClickListener
。我尝试从不同的 class 设置监听器,包括 MainActivity class 和扩展 ArrayAdapter
class 的 class但由于某种原因,它不起作用。
我也尝试从 class 扩展 AsyncTask
来做,但是我得到一个错误,说我需要从 UI 线程设置监听器
@Override
protected void onPostExecute(String s) {
if(s.equals(SUCCESS_FETCH_ALL)){
mList.setAdapter(adapter);
}
else if (s.equals(SUCCESS_INSERT))
mActivity.startActivity(new Intent(mContext, MainActivity.class));
}
我还尝试创建一个单独的 class 并使其实现点击监听器
Below are the links for the classes that are involved in the question
在LectureListAdapter中你可以在getView()
中设置clickListener
@Override
public View getView(int position, View convertView, ViewGroup parent) {
.....
row.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v){
// do your stuff here for onlick
}
});
return row;
}
我的 MainActivity.java 中有一个 ListView
。该列表视图的适配器是从 AsyncTask
class 中设置的,它从 sqlite
数据库中提取数据。现在我需要为 ListView
设置 OnItemClickListener
。我尝试从不同的 class 设置监听器,包括 MainActivity class 和扩展 ArrayAdapter
class 的 class但由于某种原因,它不起作用。
我也尝试从 class 扩展 AsyncTask
来做,但是我得到一个错误,说我需要从 UI 线程设置监听器
@Override
protected void onPostExecute(String s) {
if(s.equals(SUCCESS_FETCH_ALL)){
mList.setAdapter(adapter);
}
else if (s.equals(SUCCESS_INSERT))
mActivity.startActivity(new Intent(mContext, MainActivity.class));
}
我还尝试创建一个单独的 class 并使其实现点击监听器
Below are the links for the classes that are involved in the question
在LectureListAdapter中你可以在getView()
@Override
public View getView(int position, View convertView, ViewGroup parent) {
.....
row.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v){
// do your stuff here for onlick
}
});
return row;
}