如何解决如何处理单行上的Button单击和Listview单击?
| 我想单击ListView
,并在onItemClickListener
侦听器中执行一些操作,在每一行上,我都有一个按钮来执行其他一些操作。
我怎样才能做到这一点?解决方法
您可以尝试以下方法:
public class buttonWithList extends ListActivity {
/** Called when the activity is first created. */
String[] items={\"azhar\",\"j\"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setListAdapter(new bsAdapter(this));
}
public class bsAdapter extends BaseAdapter
{
Activity cntx;
public bsAdapter(Activity context)
{
// TODO Auto-generated constructor stub
this.cntx=context;
}
@Override
public int getCount()
{
// TODO Auto-generated method stub
return items.length;
}
@Override
public Object getItem(int position)
{
// TODO Auto-generated method stub
return items[position];
}
@Override
public long getItemId(int position)
{
// TODO Auto-generated method stub
return items.length;
}
@Override
public View getView(final int position,View convertView,ViewGroup parent)
{
View row=null;
// TODO Auto-generated method stub
/*if(convertView==null)
{
}*/
LayoutInflater inflater=cntx.getLayoutInflater();
row=inflater.inflate(R.layout.row,null);
TextView tv=(TextView)row.findViewById(R.id.txtRow);
Button btn=(Button)row.findViewById(R.id.btnRow);
tv.setText(items[position]);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
onListItemClick(this,this,position,null);
}
});
return row;
}
protected void onListItemClick(OnClickListener onClickListener,OnClickListener onClickListener2,int position,Object object) {
// TODO Auto-generated method stub
//Toast.makeText(this,items[position],3000);
System.out.println(items[position]);
}
}
}
,您需要实施ListAdapter
。这个对象让您定义每一行的元素。令人上瘾的是,您将使用ViewBinder指定行的操作。因此,您将向每行添加一个按钮,并使用ViewBinder
设置其onClickItemListener。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。