Listview 项目未在 Fragment Android 中显示
Posted
技术标签:
【中文标题】Listview 项目未在 Fragment Android 中显示【英文标题】:Listview item not Display in the Fragment Android 【发布时间】:2020-04-06 22:27:30 【问题描述】:我有带有片段的导航抽屉。我想在导航抽屉上打开片段。代码中没有任何错误,但 Listview 项目未显示在片段中。仅显示空白页。遵循代码。请帮帮我。
fragment_blank_fragment_trip2.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:orientation="vertical"
tools:context="com.example.administrator.vtsapplication.BlankFragmentTrip2">
<ListView
android:id="@+id/mobile_list"
android:layout_
android:layout_ >
</ListView>
</LinearLayout>
Activity_listview.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/label"
android:layout_
android:layout_
android:padding="10dip"
android:textSize="16dip"
android:textStyle="bold" >
BlankFragmenttrip2.java
package com.example.administrator.vtsapplication;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class BlankFragmentTrip2 extends Fragment
public BlankFragmentTrip2()
// Required empty public constructor
ViewGroup vg;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
String[] mobileArray = "Android", "IPhone", "WindowsMobile", "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X";
vg = (ViewGroup) inflater.inflate(R.layout.fragment_blank_fragment_trip2, container, false);
ArrayAdapter adapter = new ArrayAdapter<String>(getActivity(), R.layout.activity_listview, mobileArray);
ListView listView = (ListView) vg.findViewById(R.id.mobile_list);
listView.setAdapter(adapter);
return inflater.inflate(R.layout.fragment_blank_fragment_trip2, container, false);
【问题讨论】:
删除最后一行,我认为这是返回一个空视图。只返回vg
,不要发送ViewGroup
,因为方法onCreateView()
的返回类型只有View
【参考方案1】:
您应该像这样使用您的
Fragment
。你没有返回你的View
。
public class BlankFragmentTrip2 extends Fragment
String[] mobileArray = "Android", "IPhone", "WindowsMobile", "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X";
public BlankFragmentTrip2()
// Required empty public constructor
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
View rootView = inflater.inflate(R.layout.fragment_blank_fragment_trip2, container, false);
ArrayAdapter adapter = new ArrayAdapter<String>(getActivity(), R.layout.activity_listview, mobileArray);
ListView listView = (ListView) rootView.findViewById(R.id.mobile_list);
listView.setAdapter(adapter);
return rootView;
【讨论】:
感谢您的回复。使用您的代码解决了它的工作和我的问题。谢谢。以上是关于Listview 项目未在 Fragment Android 中显示的主要内容,如果未能解决你的问题,请参考以下文章
未在 Searchview 中显示正确的 Listview 项目
Kotlin Android - 当主活动添加项目时,从 Fragment 刷新 ListView
listview 项目未在自定义适配器的 getview 方法中显示分配的值