-3
我在arrays.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作爲閱讀本 -
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);
在我MyClass的,
public class MyClass {
public String[] favourites;
public MyClass(final String[] favouriteMessages){
favourites = favouriteMessages;
}
}
在myFragment,
public void setFavourites(ArrayList<MyClass> favourites) {
this.favourites = favourites;
favoritesAdapter = new ArrayAdapter<>(getActivity(), R.layout.favorites_adapter,favourites);
lstView.setAdapter(favoritesAdapter);
}
問題是列表視圖正在被顯示爲一個對象單個項目而不是字符串。我絕對希望我的字符串數組被轉換爲對象並執行它。
如何將對象的數組列表分配給字符串數組?檢查你的代碼希望IDE會給你編譯錯誤。 – androidnoobdev
您有一個自定義類(MyClass),它包含一個字符串數組,並將此自定義類添加到一個ArrayList - 因此您有一個包含一個對象的ArrayList,該對象包含該對象內的一個String數組。你想知道爲什麼它不起作用?只需向Adapter提供String數組,或者使用MyClass中的Arrays.asList獲取字符串數組..或者執行此操作的其他方法之一。 –