0

Peopleクラスの人の名前を含むリストビューがあります。たとえば、複数の人をマークしてからマークを削除できるようにしたい。

私は多くの質問を読んで回答を見てきましたが、簡単にするために次の方法でやりたいと決めました...

listItem を選択し、オプション メニューをクリックして、mark を選択します。次に、リスナーが person クラスのプライベート ブール値 isMarked を true に設定し、それがマークされていることをユーザーに伝えるために、listItem の横にチェックマークが表示されます。

質問は、アンドロイドで画像を表示したり消したりする方法はありますか?

EDIT:私はすでにオプションメニューを実装し、人物を選択してマークを選択し、彼/彼女のmarked変数をtrueにしています。私が基本的に必要としているのは、その人がマークされているというユーザーへのインジケーターです。

4

2 に答える 2

1

アイテムのステータスに関する視覚的なフィードバックが必要な場合は、おそらく ListView 内のアイテムのカスタム ビュー レイアウトが必要です。リストがアイテムのビューを要求する場合 ( getView関数)、アイテムのステータスを示す画像を表示/非表示にすることができます。

これがどのように行われるかに関連する他の関数がいくつかあるため、アダプタのドキュメントを確認してください。ListView データのソースをどのように設定したかは、質問には表示されません。

ただし、アイテムを選択してからアクションを実行することが目的であるように思われるため、コンテキスト アクション バーについて読む必要があります(「コンテキスト アクション バーの使用」を参照)。メニューのページ、特に「ListView または GridView でバッチ コンテキスト アクションを有効にする」セクションの詳細情報。アイテムを 1 つずつ選択し、メニューを使用してそれらをマークすることは、非 Android の方法のように思えます。

于 2013-10-04T00:39:36.360 に答える
0

質問は、アンドロイドで画像を表示したり消したりする方法はありますか?

表示/非表示にするビューへの参照を取得してから、次を使用する必要があります: http://developer.android.com/reference/android/view/View.html#setVisibility(int)

例えば:

ImageView imageView = (ImageView) findViewById(R.id.myimageview);
if (isMarked) {
    view.setVisibility(View.VISIBLE);
} else {
    view.setVisibility(View.INVISIBLE);
于 2013-10-04T00:38:46.840 に答える