0

少し問題があります。リストからアイテムを選択すると、すべてが正しくなるまで選択され、色が付けられます。次に、別のアクティビティに移動して戻ってきたときに、リスト内のアイテムを再度選択したいと思います。要約すると、アクティビティがリロードされたときにリスト内のアイテムを選択すると、ListViewは、MonoDroidのロードをクリックするアイテムを認識している必要があります。

英語が下手でごめんなさい、説明したいと思います。ありがとう

4

1 に答える 1

1

必要な機能は、Android の通常の動作ではありません。電話がタッチ モードで、API レベルが 11 未満の場合です。

そのため、最も簡単な方法は、API 11 以降のアプリケーションをターゲットにして、リスト アイテムのレイアウトに次を追加することです。

android:background="?android:attr/activatedBackgroundIndicator"

ChoiceModeリストビューにも設定する必要があります。

listView.ChoiceMode = ChoiceMode.Single;

に戻ったときに選択した項目の位置を覚えておくListViewために、どこかに保存する必要があります。したがって、イベントハンドラーでは、位置を次のようItemClickに保存できます。SharedPreferences

var prefs = GetPreferences (FileCreationMode.Append);
var editor = prefs.Edit();
editor.PutInt("ListViewSelectedItem", args.Position);
editor.Commit();

でアクティビティに戻ったときに強調表示された項目を設定するにはListView、次のコードを に配置できますOnResume

var prefs = GetPreferences(FileCreationMode.Append);
var val = prefs.GetInt("ListViewSelectedItem", 0);
listView.SetItemChecked(val, true);

メソッドlistViewからアクセスできるとしますOnResume

于 2013-01-16T12:36:18.713 に答える