【问题标题】:ListView doesn't apear in Emulator AndroidStudioListView 未出现在 Emulator Android Studio 中
【发布时间】: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_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <TextView
        android:id="@+id/textSexe"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/quel_est_votre_sexe" />


    <Space
        android:layout_width="match_parent"
        android:layout_height="10dp"
    />
    <!-- On choisit le mode de sélection avec android:choiceMode -->


    <ListView
        android:id="@+id/listSexe"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:choiceMode="singleChoice"></ListView>

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

</LinearLayout>

我得到以下信息

【问题讨论】:

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

标签: android android-studio listview android-emulator adapter


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-06-27
    • 1970-01-01
    • 2020-08-25
    • 2023-02-09
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多