0

viewSwicther をリストビューに追加しようとしています。私が望むのは、アイテムが長時間クリックされると、そのフィールドが EditText に変換されることです。現時点では、TextView から EditText に変換されるのは、常にリストの一番上にある要素です。baseAdapter に基づくカスタム アダプターがあります。

コードを以下に示します。

    listView.setOnItemLongClickListener(new OnItemLongClickListener(){
        public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
            int size = findSizeOfArray();
            if(position == (size-1)){
                ViewSwitcher switcher = (ViewSwitcher)findViewById(R.id.my_switcher);
                switcher.showNext();
                preAdapter.notifyDataSetChanged();
            }
            return true;
        }
    });
    preAdapter.notifyDataSetChanged();
4

1 に答える 1

0

あなたがしたように LongClick の位置を見つけて設定する必要があったと思いますが、この位置を Custom Adapter に渡す必要があります。次に、カスタムアダプター内でこの位置をキャッチし、 GlobalVariable を設定して選択を保持します Position 、次にgetView()関数で確認できますgetView() 関連の位置が Main Activity から受け取った Selected 位置と等しい場合ViewSwitcher、 ListgetView()関数の内部に実装できます

于 2013-10-23T13:11:57.427 に答える