私は自分のフラグメントにListViewを作成し、結果を単純な文字列リストから取得します。ListView does not load items
Item.java
public class Item implements Parcelable {
public String message;
public Item(String message) {
this.message = message;
}
protected Item(Parcel in) {
message = in.readString();
}
public static final Creator<Item> CREATOR = new Creator<Item>() {
@Override
public Item createFromParcel(Parcel in) {
return new Item(in);
}
@Override
public Item[] newArray(int size) {
return new Item[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(message);
}
}
item_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/item_text"
android:textSize="12sp"/>
</LinearLayout>
ListAdapter.java
public class ItemListAdapter extends ArrayAdapter<Item> {
public ItemListAdapter(Context context, ArrayList<Item> items) {
super(context, 0, items);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Get the data item for this position
Item item = getItem(position);
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_layout, parent, false);
}
TextView messageText = (TextView) convertView.findViewById(R.id.item_text);
messageText.setText(item.message);
return convertView;
}
}
BeveragesItemListFragment.java
アプリケーションがクラッシュしない - フラグメントのタイトルがロードされ、すべてがログに綺麗に見えます。しかし、私はListViewで、事前定義された文字列が表示されません。問題は、私がItemListAdapter
初期化で渡した文脈にあるのでしょうか?
私はadapter.notifyDataSetChanged()
を入力しようとしましたが、それでも役に立たなかったです。