如何只使一个小部件可以在自定义列表视图中聚焦?

时间:2012-02-15 07:20:15

标签: android listview checkbox focus

我有一个带有一个复选框和两个textview的自定义列表视图。我正在使用自定义适配器来显示列表视图。问题是onItemclick函数对于复选框不起作用,如果我直接关注复选框,它只在首先聚焦列表然后复选框时才有效。我希望我的listview与checkedtextview类似,其中复选框获得焦点default.Can有人建议我解决这个问题吗?谢谢。

2 个答案:

答案 0 :(得分:0)

将此代码添加到列表视图活动中,并根据您的规范进行更改。

View v;
LayoutInflater li =(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = li.inflate(R.layout.listview, null);
CheckBox checkBox = (CheckBox)v.findViewById(R.id.check_box);
checkBox.setOnClickListener(new OnClickListener() 
{
    @Override
    public void onClick(View view)
    {
        //Action  
    }
});

答案 1 :(得分:0)

尝试使用getView()方法向返回的view添加一个点击侦听器,如下所示:

view.setOnClickListener(new OnClickListener(){
    public void onClick(View v) {
/// checkboxview.clearFocus()
/// checkboxview.requestFocus()
     }....

EDIT。 onclicklistener for checkbox:

 CheckBox chckKill = new CheckBox(context);
            chckKill.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v) {
                //is chkIos checked?
        if (((CheckBox) v).isChecked()) {
        ///// your code here
        }    
      }
    });