2017-06-03 33 views
-1

单行自定义列表视图的Android listview具有复选框和edittext,如果取消选中复选框,则禁用编辑文本。在列表视图中检查复选框时可见的编辑文本

holder. checkBox.setChecked(false); 
holder. price.setText(showUserOrderses.get(position).getPrice()+" LE"); 
holder.count.setVisibility(View.INVISIBLE); 

holder.checkBox.setOnCheckedChangeListener(new  

CompoundButton.OnCheckedChangeListener() { 
    @Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean 

    isChecked) { 
     if (holder.checkBox.isChecked()) 
     { 
      holder.count.setVisibility(View.VISIBLE); 

     } 
     else if(!holder.checkBox.isChecked()) 
       { 
        holder.count.setVisibility(View.INVISIBLE); 
       } 
     } 
    }); 

我想知道如何为我试过,但不起作用

adapter.notifyDataSetChanged(); 

回答

0
holder.checkBox.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) { 

      if (holder.checkBox.isChecked()) 
      { 
       holder.count.setVisibility(View.VISIBLE); 

      } 
      else 
      { 
       holder.count.setVisibility(View.INVISIBLE); 

      } 

      notifyDataSetChanged(); 

     } 
    }); 
+0

它工作正常,但不会保持对SINGL排它使渲染所有列表视图细胞 –

+0

添加复选框'机器人:可调焦=”假“ –

+0

@AsmaaShaban阅读http://www.devexchanges.info/2015/11/listview-with-checkbox-single-row.html –

0

试试这个更新单行IL列表视图 :

if(holder.checkRaw.isChecked()) 
     holder.count.setVisibility(View.VISIBLE); 
    else 
     holder.count.setVisibility(View.GONE); 

    holder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      adapter.notifyDataSetChanged(); 
     } 
    }); 
0

什么是你的EditText?我在你的代码中找不到它,我可以确定哪一个是。如果您希望禁用的EditText当CheckBox的状态为未选中,更换您的代码如下

if (holder.checkBox.isChecked()) 
{ 
    holder.count.setVisibility(View.VISIBLE); 
    edittext.setEnable(true); 
} 
else 
{ 
    holder.count.setVisibility(View.INVISIBLE); 
    edittext.setEnable(false); 
} 
+0

count是编辑文本..在这里我使用BaseAdapter并将此代码放在getview方法中,但在运行listview应用程序时无法正常工作。它会更新所选行 –

+0

当您单击复选框时,您更新了什么?您的适配器数据不会改变。 –

+0

当我在一个或多个单元格上进行操作时,键盘会打开,但当键盘关闭了单元格中丢失的所有东西时 –

相关问题