私は漫画を表示し、後でアクセスできる「お気に入り」とマークすることができるシンプルなアプリケーションを持っています(それ以上はありますが、 )。ユーザが漫画をお気に入りとしてマークすると、文字列は、キー= "#of Comic" Value = "title of Comic"のフォーマットで共有プリファレンスに置かれる。 SharedPreferencesには、お気に入りの漫画に関連付けられたキー/値のペアだけが含まれます。この機能は正常に動作します。この問題は、SharedPreferencesファイルに保存されているすべてのお気に入りの値を含むListViewを表示することを目的としたメニューボタンで発生します。ユーザーがポップアップメニューAndroid:リストビューに共有設定からの項目を入力する際の問題
case R.id.favorites:
Log.i("Step 1", "Favorites");
favVector.clear(); //Clears string Vector that I want to use to hold the titles
Map<String, ?> allprefs = xkfav.getAll(); //gets map of all Shared Preferences
for (Map.Entry<String, ?> entry : allprefs.entrySet()) {
favVector.add((String) entry.getValue());
}
Log.i("Step 2", "Favorites");
setContentView(R.layout.favlist); //loads Layout with ListView (and nothing else)
Log.i("Step 3", "Favorites");
ListView menuList;
menuList = (ListView) findViewById(R.id.FavListView);
String[] items = new String[favVector.size()]; //creates array with size of Vector
favVector.copyInto(items); //Copies Vector into array
ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, R.layout.fav_item, items);
menuList.setAdapter(adapt); //Puts array contents into list
私はこれを実行するたびにお気に入りボタンをクリックしたときにここで実行されるアクションのためのコードですが、私は強制的に閉じるを取得します。私は "ステップ2"がログに現れることさえ見たことがありません。これはおそらく美しく効率的なコードではないという事実を無視して、ユーザーがこのボタンをクリックすると強制終了エラーが出るのはなぜですか?
を私はこれまでにそれをしていません。 –
更新された回答を表示 – ddewaele