2017-06-03 15 views
-1

Androidのリストビューでは、単一行のカスタムリストビューにチェックボックスと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

として、あなたのコードを置き換え、それが正常に動作しますが、それはすべてのリストビュー細胞 –

+0

チェックボックス 'アンドロイド追加のためのレンダリングになりSINGL行のために残っていない:フォーカス可能に=」 false "' –

+0

@AsmaaShaban Read 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を無効にしたい場合は、続く

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

カウントは編集テキストです..ここで私はBaseAdapterを使用し、このコードをgetviewメソッドに入れましたが、listview appを実行してもうまくいきません。選択した行を更新します –

+0

チェックボックスをクリックすると何が更新されますか?あなたのアダプタデータは変更されていません。 –

+0

キーボードが1つ以上のセルで操作されたときに開かれたキーボードが、セル内で失われたすべてのものを閉じたとき –

関連する問題