2

私はAndroidを初めて使用し、新しいAndroidアプリを開発しようとしています。しかし、私は自分のプロジェクトの問題の1つを解決するのに苦労しています。

から拡張されたリストビューを使用しており、リストビューbaseadapterの各行にボタンを追加する必要があります。リストビューの任意の行をクリックしたときにbutton、それを削除する必要があります。ただし、そうすると、他のボタンの一部もリストビューから削除されます。

どうすればこの問題を解決できますか?ありがとうございました..

4

2 に答える 2

1

アダプター、アクティビティ、および何らかのデータ ソースがあります。

アダプターでは、いくつかのデータをボタンに添付して、互いに区別できるようにします。

public class ExpAdapter extends ListAdapter {

    @Override
    public View getView(int groupPosition, boolean isExpanded,
            View convertView, ViewGroup parent) {
                /* SOME CODE HERE*/
        convertViewButton.setTag(buttonId);
        return convertView;
    }
                /* SOME CODE HERE*/
}

アクティビティで、ボタン ID を非表示にするものとしてマークします。

        public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            storageOfHiddenButtonsIds.add((Long)arg1.getTag());
        }};

そして、ListAdapter は次のように変更されます。

@Override
public View getView(int groupPosition, boolean isExpanded,
        View convertView, ViewGroup parent) {
            /* SOME CODE HERE*/

    convertViewButton.setTag(buttonId);

    if(storageOfHiddenButtonsIds.contains(buttonId))
    {
      convertViewButton.setVisiblity(View.GONE);
    }
    return convertView;
}

アダプターに自分を変えてもらいたいときは、電話することを忘れないでください

this.expAdapterAllTaks.notifyDataSetChanged();

私のコードに誤りがあり申し訳ありませんが、アイデアを提供したかっただけです。

于 2012-07-06T14:06:32.437 に答える
0

私は同じタイプの問題に直面しました。setOnItemClickListenerすべてのlistViewアイテムにボタンなどのアイテムを追加すると、ListViewは機能しません。解決策はonClick、リストアイテムレイアウト(カスタムアダプタファイルで使用)で次のように使用されます。

<ImageButton
        android:id="@+id/my_delete"
        android:onClick="onDeleteButtonClickListener" 
        ... and so on />

ここで、onDeleteButtonClickListenerは、リストビューでアダプターを設定するアクティビティーのメソッドです。

public void onDeleteButtonClickListener(View v) {
// your code
}

ここでlistItemは、ListViewの個々の行アイテムを意味します


役立つリンク: ListViewアイテムのボタン

于 2012-07-06T13:48:49.403 に答える