私はFrameLayoutアクティビティのリストビューを持っています(アクティビティリストではありません)。Android ListView複数のチェックボックス
私がクリックされたチェックボックスを判断するにはどうすればよい3210
を使用してクリック数を聞くことができますか?私はインデックスを取得しないでください。私はあなたがonListItemClickListener()を実装することができListActivity
私はFrameLayoutアクティビティのリストビューを持っています(アクティビティリストではありません)。Android ListView複数のチェックボックス
私がクリックされたチェックボックスを判断するにはどうすればよい3210
を使用してクリック数を聞くことができますか?私はインデックスを取得しないでください。私はあなたがonListItemClickListener()を実装することができListActivity
を使用していないので、
PS OnListItemClicked
は範囲外です。すべてのリストビューアイテムを繰り返し、各アイテム(各アイテムの子ビュー)をチェックします。
for(int i = 0; i <= listView.getLastVisiblePosition(); i++)
{
if(listView.getChildAt(i)!= null)
{
if(((CheckBox)listView.getChildAt(i).findViewById(R.id.checkbox)).isChecked())
{
//do something
}else { //do something else}
}
}
または、チェックボックスをオンにすると、getView()
の方法でチェックすることができます。
ListViewにはまだsetOnListItemClickedListener()メソッドがあります。これは、アクティビティコンテキストで実装するのではなく、リスナーをオブジェクトとして作成して渡すことができます。
編集:はい、アダプタービューから継承されます。
ListView docsに移動します。[継承されたメソッド]セクションまでスクロールし、setOnItemClickListener()があるAdapterViewの左の矢印をクリックします。私はそれがそこにあることを保証する前にコードでそれを使用しました。
それはない – Taranfx
listView1.getCheckedItemPosition()
をお試しください。あなたもこれをやってみてください:
private int checkedItemPosition;
listView1.setOnItemClickListener(new ListView.OnItemClickListener()
{
public void onItemClick(AdapterView<?> listView, View selectedItem, int position, long itemId)
{
CheckBox checkbox = (CheckBox)selectedItem.findViewById(R.id.checkbox);
if (checkbox.isChecked())
{
checkedItemPosition = position;
}
}
});
この
Vector vect = new Vector();
lv1.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice, item));
lv1.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
lv1.setClickable(true);
lv1.setScrollingCacheEnabled(true);
lv1.setOnItemClickListener(deleteclicklistener);
private OnItemClickListener deleteclicklistener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View v, int position,
long id) {
if(vect.contains(position))
{
vect.removeElement(position);
}else
{
vect.addElement(position);
}
}
};
ような何かを、私はこれがあなたの問題
広告申込情報は別途クリックする必要があります。 clickableをTrueに設定すると、チェックボックス+ラインアイテムはクリック可能なものになります。 – Taranfx
すごい汚い方法のthatsを解決すべきだと思います。私は何かクリーナーを探しています。 – Taranfx
場合(((チェックボックス)listView.getChildAt(I).findViewById(R.id.checkbox))にisChecked()。) あなたは ビューparentView = listView.getChildAt(I)にこれを簡素化することができます。 CheckBox chkbox =(CheckBox)parentView.findViewById(R.id.checkbox); if(chkbox.isChecked()) –
私はすべての子をループしたくないということを意味しました。 – Taranfx