gpt4 book ai didi

java - 安卓 ListView : can't see a simple list

转载 作者:行者123 更新时间:2023-11-30 01:37:25 25 4
gpt4 key购买 nike

这可能是我所缺少的,请协助

我创建了一个简单的列表并将其绑定(bind)到一个适配器

但由于某种原因在设备上运行时没有显示

这与我遇到的所有教程一致

fragment _main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"
android:paddingTop="4dip"
android:paddingBottom="6dip"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textSize="13sp"
android:weightSum="1.0"
android:orientation="horizontal"
tools:showIn="@layout/activity_main">

<TextView android:id="@+id/singName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="LOGO"
android:layout_gravity="top"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="40dp"
android:textAppearance="?android:attr/textAppearanceLarge" />

<ListView
android:layout_width="280dp"
android:layout_height="match_parent"
android:id="@+id/messagesList"
android:layout_gravity="center_vertical|left"
android:visibility="visible"
android:layout_above="@+id/bottomTxt"
android:layout_alignParentStart="true"
android:layout_below="@+id/singName" />

Java:

public class MainActivityFragment extends Fragment {

public MainActivityFragment() {
}

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

String [] messages = new String[]{
"Item 1",
"Item 2",
"Item 3",
"Item 4"
};


ArrayAdapter<String> adapter;
adapter = new ArrayAdapter<>(
getActivity(),
R.layout.message_item,
messages);

lv.setAdapter(adapter);
return rootView;
}

message_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="50dp"
android:layout_height="50dp"
android:minHeight="?android:listPreferredItemHeightLarge"
android:gravity="center_vertical"
android:textSize="20dp"
android:id="@+id/message_item_text">
</TextView>

最佳答案

您的第一个问题是您将 fragment_main.xml 膨胀了两次。您必须修复它并返回第一个 View 。除此之外还有什么问题是它崩溃了还是什么?

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

String [] messages = new String[]{
"Item 1",
"Item 2",
"Item 3",
"Item 4"
};


ArrayAdapter<String> adapter;
adapter = new ArrayAdapter<>(
getActivity(),
R.layout.message_item,
messages);

lv.setAdapter(adapter);
return rootView;
}

您发布了您的 fragment.xml 文件,但您正在膨胀 fragment_main.xml 文件。

关于java - 安卓 ListView : can't see a simple list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34957418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com