【问题标题】:Blank screen for ListViewListView 的空白屏幕
【发布时间】:2016-04-07 09:22:58
【问题描述】:

我正在尝试使用 Fragments/ListView/Arrays & Adapter 填充虚假数据。 但是当我运行应用程序时,我得到了空白屏幕,请指导::

下面是我在 Fragment 类中的 MainActivity.Java 代码::

/**
 * A placeholder fragment containing a simple view.
 */
public static class PlaceholderFragment extends Fragment {

    public PlaceholderFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
       View rootView= inflater.inflate(R.layout.fragment_main, container, false);


    String[] forecastArray = {
            "Today , Sunny , 88/63",
            "Tomorrow , Sunny , 88/63",
            "Wesneday , Sunny , 88/63",
            "THursday , Sunny , 88/63",
            "FRIDAY , Sunny , 88/63",
            "Saturday , Sunny , 88/63",
            "Sunday , Sunny , 88/63",
    };

    List<String> weekForecast = new ArrayList<String>(
            Arrays.asList(forecastArray)
    );

        ArrayAdapter<String> mForecastAdapter;
        mForecastAdapter = new ArrayAdapter<String>(
                    getActivity(),
                    R.layout.list_item_forecast,
                    R.id.List_item_forecast_textView, weekForecast);
        ListView listView = (ListView) rootView.findViewById(R.id.listView_forecast);
        listView.setAdapter(mForecastAdapter);
    return rootView;

}

【问题讨论】:

  • 你能发布 List_item_forecast_textView xml 吗?为了使数组适配器使用您的自定义布局来处理列表项,您的自定义布局必须只包含一个 ID 为 android:id="@android:id/text1" 的 TextView。请检查您的 List_item_forecast_textView 是否有一个 ID 为 @android:id/text1 的 TextView ??
  • schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height= "match_parent" android:id="@+id/List_item_forecast_textView" android:minHeight="?android:attr/listPreferredItemHeight" >
  • @SandeepBhandari 仅供参考
  • 正如我之前提到的,您能否将 TextView id 更改为 android:id="@android:id/text1"?并尝试再次运行它??
  • @yazak : 我知道你有一个 id 我的朋友,但数组适配器不会理解那个 id 正确吗??它总是寻找名为 text1 的 id :) 所以请将您的 TextView id 更改为 android:id="@android:id/text1" :)

标签: java android


【解决方案1】:

可能是因为您在 onCreateView 中填充了适配器。 尝试在 onResume 上执行。

保留对 rootView 的引用并在 onResume 上执行此部分

ArrayAdapter<String> mForecastAdapter;
    mForecastAdapter = new ArrayAdapter<String>(
                getActivity(),
                R.layout.list_item_forecast,
                R.id.List_item_forecast_textView, weekForecast);
    ListView listView = (ListView) rootView.findViewById(R.id.listView_forecast);
    listView.setAdapter(mForecastAdapter);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多