如何处理单行上的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。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...