最近、私はこの事をしたのに役立ちます願っています。 listItemのボタンを非表示にしたいとします。次に、リスト・アダプターのgetViewで、そのボタンをグローバル・ベクトルに追加します。以下のように。ここで
Button del_btn = viewCache.getFrame();
view_vec.add(del_btn);
viewCacheは、以下のようにsumthingさViewCacheクラスのオブジェクトである -
class ViewCache
{
private View baseView;
private Button button;
public ViewCache(View baseView)
{
this.baseView = baseView;
}
public Button getButton() {
if(button == null) {
button = (Button) baseView.findViewById(R.id.DeleteChatFrndBtn);
}
return button;
}
}
//it is necessary sometimes because otherwise in some cases the list scroll is slow.
今、あなたは他のいくつかのボタンをonClicking見えるlistItemののボタンが好きです。そして、以下のようなコード -
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()) {
case R.id.EditChatFrndBtn:
length = view_vec.size();
for(int i = 0; i < length; i++) {
Button btn = (Button) view_vec.elementAt(i);
btn.setVisibility(View.VISIBLE);
}
doneBtn.setVisibility(View.VISIBLE);
editBtn.setVisibility(View.INVISIBLE);
break;
}
}
代わりR.id.EditChatFrndBtnのは、あなたが目に見えない/見えlistItemののボタン意志のクリックであなたのボタンIDを置きます。
こんにちは、私は、私のヘッダーにある別のボタンをクリックすると、すべてのリスト項目にshowボタンが必要です。あなたが使ったこのビューベクトルとgetFrame()は何ですか? – Nitish
作成時にすべてのボタン(ビュー)を追跡する必要があります。オットー後は、各リストアイテムのボタンビューに別々にアクセスすることはできません。すべてのボタンビューが作成されると、ビューベクトルに挿入されます。このベクトルは、すべてのリストアイテムボタンビューを追跡します。 – Debarati
これを取得し、Viewcacheはアダプタのビューの所有者です。私は正しい? – Nitish