【问题标题】:Can't see the ListView in my Fragment在我的片段中看不到 ListView
【发布时间】:2016-11-30 13:11:01
【问题描述】:

我试图在 Fragment 中显示一个 listView,但是当我运行应用程序时,它会给出一个空白页。我正在使用 Fragment 中的字符串中的数组适配器填充 ListView。

这是我的代码:

public class CardContentFragment extends Fragment {


private String[] items;

@Override
public void onActivityCreated(Bundle savedInstanceState) {

    super.onActivityCreated(savedInstanceState);

}

@Override
public View onCreateView(LayoutInflater inflater,
                         ViewGroup container,

                         Bundle savedInstanceState) {

    View view = inflater
            .inflate(R.layout.item_card, container, false);


    items = getActivity().getResources().getStringArray(R.array.list);


    ListView lv = (ListView) view.findViewById(R.id.list);


    ListAdapter myListAdapter = (new ArrayAdapter<String>(getActivity().getApplicationContext(),
            android.R.layout.simple_list_item_1, list));

    lv.setAdapter(myListAdapter);


    return view;


}


}

array.xml

<string-array name="list">
        <item>Argentina (54 11) 4863 3291</item>
        <item>Aruba (297) 839 662</item>
        <item>Australia (61 2) 9416 2373</item>



    </string-array>

layout.xml

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ListView xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/list"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:fillViewport="true">


    </ListView>



</RelativeLayout>

没有错误,我认为只是布局问题但我无法解决。

【问题讨论】:

  • 显示代码,你是如何在 Activity 中附加片段的

标签: android xml listview android-fragments


【解决方案1】:

您需要将items 传递给您的适配器

ListAdapter myListAdapter = (new ArrayAdapter<String>(getActivity().getApplicationContext(),
        android.R.layout.simple_list_item_1, items));
                                             ^^^^^ this has your array 

【讨论】:

    【解决方案2】:

    找到问题了,只是笔误:

    ListAdapter myListAdapter = (new ArrayAdapter<String>(getActivity().getApplicationContext(),
                android.R.layout.simple_list_item_1, items));
    

    我只是放“items”而不是“list”

    【讨论】:

      【解决方案3】:

      试试这个

       items = getActivity().getResources().getStringArray(R.array.list);
      
      
         ListView lv = (ListView) view.findViewById(R.id.list);
      
      
          ListAdapter myListAdapter = (new ArrayAdapter<String>(getActivity().getApplicationContext(),
                  android.R.layout.simple_list_item_1, items));
      
          lv.setAdapter(myListAdapter);
      

      并将你的放入你的 string.xml

      <string-array name="list">
          <item>Argentina (54 11) 4863 3291</item>
          <item>Aruba (297) 839 662</item>
          <item>Australia (61 2) 9416 2373</item>
      
      
      
      </string-array>
      

      【讨论】:

        猜你喜欢
        • 2021-06-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多