ListView 未出现在 Emulator Android Studio 中

Posted

技术标签:

【中文标题】ListView 未出现在 Emulator Android Studio 中【英文标题】:ListView doesn't apear in Emulator AndroidStudio 【发布时间】:2021-06-19 06:50:20 【问题描述】:

我是 android Studio 的新手;我正在关注一个教程,我正在尝试执行以下代码。执行不报告任何错误;但是,ListView 没有显示在模拟器中。 您能告诉我如何解决这个问题吗?

我的主要活动文件是: SelectionMultipleActivity.java

package com.example.tutolist;



import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

public class SelectionMultipleActivity extends Activity 
    
    private ListView mListSexe = null;

    private Button mSend = null;


    private String[] mSexes = "Masculin", "Feminin";

    private String[] mLangages = null;

    @Override
    public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mListSexe =  findViewById(R.id.listSexe);
        mSend =  findViewById(R.id.send);
        mLangages = new String[]"C", "Java", "COBOL", "Perl";
        mListSexe.setAdapter(new ArrayAdapter<String>(this,     android.R.layout.simple_list_item_single_choice, mSexes));
    
        mListSexe.setItemChecked(0, true);


        mSend.setOnClickListener(new View.OnClickListener() 

            @Override
            public void onClick(View v) 
                Toast.makeText(SelectionMultipleActivity.this, "Merci ! Les données ont été envoyées !", Toast.LENGTH_LONG).show();

           
                mListSexe.setChoiceMode(ListView.CHOICE_MODE_NONE);
           
                mListSexe.setAdapter(new ArrayAdapter<String>(SelectionMultipleActivity.this, android.R.layout.simple_list_item_1,
                    mSexes));

            
                mSend.setEnabled(false);
            
        );
    

我的布局文件是: activity_main.xml

 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:orientation="vertical"
    >

    <TextView
        android:id="@+id/textSexe"
        android:layout_
        android:layout_
        android:text="@string/quel_est_votre_sexe" />


    <Space
        android:layout_
        android:layout_
    />
    <!-- On choisit le mode de sélection avec android:choiceMode -->


    <ListView
        android:id="@+id/listSexe"
        android:layout_
        android:layout_
        android:choiceMode="singleChoice"></ListView>

    <Button
        android:id="@+id/send"
        android:layout_
        android:layout_
        android:layout_gravity="center"
        android:text="Envoyer" />

</LinearLayout>

我得到以下信息

【问题讨论】:

ListView 需要一个已知的高度。尝试使用“200dp”而不是“wrap_content” 你能提供你的适配器的代码吗? @emandt 即使已知高度也不会显示。 @MaximeClaude,我没有实现任何适配器。我正在使用 android studio 提供的 bit-in 适配器 【参考方案1】:

您没有为每个列表项使用正确的layout

改用mListSexe.setAdapter(new ArrayAdapter&lt;String&gt;(this, android.R.layout.simple_list_item_1, mSexes));

【讨论】:

以上是关于ListView 未出现在 Emulator Android Studio 中的主要内容,如果未能解决你的问题,请参考以下文章

ListView 未显示/出现 android studio

检索数据未出现在 ListView 的片段中

[Debug] Use Remote Sources to Debug a Web App on an Emulator, Simulator, or Physical Device

ListView未出现在应用程序中

Android Studio Emulator 未开始显示 AVD 已被杀死

ListView 动画未正确缩放