如何在android上的列表视图中执行onListItemClick
我有一个如何在android上的列表视图中执行onListItemClick,android,android-layout,Android,Android Layout,我有一个ListView,它有三个ImageButtons和TextViews、ImageView。如何执行onListItem单击列表视图中的以执行每个ImageButton的单个操作 public class AndroidThumbnailList extends ListActivity{ .......... ib2=(ImageButton)findViewById(R.id.imageButton2); ib3=(ImageButton)findViewBy
ListView
,它有三个ImageButton
s和TextView
s、ImageView
。如何执行onListItem单击列表视图中的以执行每个ImageButton
的单个操作
public class AndroidThumbnailList extends ListActivity{
..........
ib2=(ImageButton)findViewById(R.id.imageButton2);
ib3=(ImageButton)findViewById(R.id.imageButton3);
ib1=(ImageButton)findViewById(R.id.imageButton1);
public class MyThumbnaildapter extends ArrayAdapter<String>{
public MyThumbnaildapter(Context context, int textViewResourceId,String[] objects) {
super(context, textViewResourceId, objects);
// TODO Auto-generated constructor stub
}
public View getView(int position, View convertView, ViewGroup parent) {
.........
}
}
protected void onListItemClick(ListView l, View v, int position, long id) {
Log.e("video", "called");
super.onListItemClick(l, v, position, id);
if(v.equals(ib1)){
....
}
if(v.equals(ib2)){
....
}
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new MyThumbnaildapter(AndroidThumbnailList.this, R.layout.row, _videosId));
}
}
请帮帮我。您必须在ListAdapter
的getView()
中为每个按钮设置侦听器
检查。首先,您使用的是列表视图
还是线性布局
ListActivity
与ListView
一起使用,我看不到您的。您使用了LinearLayout,并提供了自己的ImageButton
s,这些按钮不是由适配器创建的,因此没有使用onListItemClick
其次(这只是一种观点,你可以不使用它而让它工作),嗯,你最好在getView()
中定义项目时定义OnClickListener
,而不要使用onlistemClick
,你可以为每个ImageButton
设置个人onClick()
事件处理程序
public class AndroidThumbnailList extends ListActivity{
..........
ib2=(ImageButton)findViewById(R.id.imageButton2);
ib3=(ImageButton)findViewById(R.id.imageButton3);
ib1=(ImageButton)findViewById(R.id.imageButton1);
public class MyThumbnaildapter extends ArrayAdapter<String>{
public MyThumbnaildapter(Context context, int textViewResourceId,String[] objects) {
super(context, textViewResourceId, objects);
// TODO Auto-generated constructor stub
}
public View getView(int position, View convertView, ViewGroup parent) {
.........
}
}
protected void onListItemClick(ListView l, View v, int position, long id) {
Log.e("video", "called");
super.onListItemClick(l, v, position, id);
if(v.equals(ib1)){
....
}
if(v.equals(ib2)){
....
}
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new MyThumbnaildapter(AndroidThumbnailList.this, R.layout.row, _videosId));
}
}
您必须声明上下文的方法(通常是活动
):
有关更多详细信息,请参阅和的Javadocs 哦,我错过了。你跑得更快+1美元。我的答案是:和这个一样。我实现如下:我得到空指针异常请帮助我类实现OnclickListener{ib1=(ImageButton)findViewById(R.id.image1);ib1.setOnclickListener(this);//空指针异常public void onClickHandler(View v){if(v.getid.equals(R,id.image){…}
public void onClickHandler(View v)