-1

私は持っていListViewます。私はそれをうまく入力できましたが、ListView今必要なのは、ユーザーがListItemそれを長押しすると、ボタンを表示する必要があり、入力中に非表示にしましたListView

これが私が試したスニペットです。

mItemListView.setOnItemLongClickListener(新しいOnItemLongClickListener() {

        @Override
        public boolean onItemLongClick(AdapterView<?> adapterview, View arg1,
                int arg2, long arg3) {
            LinearLayout view=(LinearLayout) mItemListView.getChildAt(arg2);
            view.getChildAt(0).setVisibility(View.VISIBLE);
            return false;
        }
    });

アダプターが伸びていますBaseAdapter

4

3 に答える 3

2

メソッドに渡される View を使用しますonItemLongClick(AdapterView<?> adapterview, View arg1, int arg2, long arg3)。例えば

mItemListView.setOnItemLongClickListener(new OnItemLongClickListener() {

    @Override
    public boolean onItemLongClick(AdapterView<?> adapterview, View arg1,
            int arg2, long arg3) {
          arg1.setVisibility(View.VISIBLE);
          return false;
    }
});
于 2012-10-20T10:53:08.800 に答える
0

リストを再描画するには、アダプターでnotifyDataSetChanged()を呼び出す必要があります。ただし、アダプタのgetViewメソッド内でボタンを非表示に設定している場合は、表示が非表示に戻りますので注意してください。

おそらく、各ボタンの可視性の状態を保持する個別の配列を使用し、その状態を切り替えて、描画時にボタンの状態を設定するために使用する必要があります。

于 2012-10-20T10:57:28.577 に答える
0

このボタンは、各リスト項目に入力される線形レイアウトのレイアウトの一部であると思いますか? その場合はview.findViewById(id_of_your_button)、ボタン ビューを使用して取得し、それを VISIBLE に設定します。

于 2012-10-20T10:55:31.190 に答える