-3
配列の配列はarray.xmlにあります。それはある -リスト内の文字列配列を設定できません
<resources>
<string-array name="messages">
<item>@string/hello</item>
<item>@string/bye</item>
<item>@string/hi</item>
<item>@string/how_are_you</item>
</string-array>
</resources>
私のように私のMainActivityでこれを読んで - 問題がある
私はMyClassでString[] favouriteMessage;
public ArrayList<MyClass> arraylst;
favouriteMessage = getResources().getStringArray(R.array.messages);
final MyClass myclass = new MyClass(favouriteMessage);
arraylst.add(myclass);
//Send the arraylist to fragment
myFragment.setFavourites(arraylst);
、myFragmentで
public class MyClass {
public String[] favourites;
public MyClass(final String[] favouriteMessages){
favourites = favouriteMessages;
}
}
、
public void setFavourites(ArrayList<MyClass> favourites) {
this.favourites = favourites;
favoritesAdapter = new ArrayAdapter<>(getActivity(), R.layout.favorites_adapter,favourites);
lstView.setAdapter(favoritesAdapter);
}
リストビューがオブジェクトとして表示されています単一の項目であり、文字列ではありません。私は間違いなく私のString配列をオブジェクトに変換してやりたい
どのように文字列配列にオブジェクトのarraylistを割り当てることができますか?あなたのコードがIDEでコンパイルエラーを起こすことを期待してください。 – androidnoobdev
カスタムクラス(MyClass)は、文字列配列を保持していて、このカスタムクラスをArrayListに追加するので、1つのオブジェクトを持つArrayListを持ち、そのオブジェクトの中に文字列配列を含みます。あなたはなぜそれが動作していないのだろうか?あなたの文字列配列をアダプタに提供するか、MyClassのArrays.asListを使って文字列配列を取得するだけです。これを行う5つの方法のうちの1つです。 –