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 方法中显示分配的值

ListFragment 相对于 ListView 或普通 Fragment 的优势

如何在另一个 Fragment 中更新 ListView?