Android ListView不显示内容

索引黑客

我正在按照教程进行Android开发:

我在本教程的ListView部分。到目前为止,我的应用程序具有一个文本字段,用户可以在其中输入名称。然后,他们按下按钮,其名称应被保存并出现在屏幕下半部的ListView中。我使用与教程完全相同的代码,但是我的问题是按下按钮后ListView不会显示任何内容。以下是我的一些Java和xml代码:

//MainActivity.java

    package com.theboss.jackli.omgandroid;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;

import java.util.ArrayList;


public class MainActivity extends ActionBarActivity implements View
        .OnClickListener
{
    TextView mainTextView;
    Button mainButton;
    EditText mainEditText;
    ListView mainListView;
    ArrayAdapter mArrayAdapter;
    ArrayList mNameList = new ArrayList();

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 1. Access the TextView defined in layout XML
        // and then set its text
        mainTextView = (TextView) findViewById(R.id.main_textview);
        mainTextView.setText("Set in Java!");

        // 2. Access the Button defined in layout XML
        // and listen to it here
        mainButton = (Button) findViewById(R.id.main_button);
        mainButton.setOnClickListener((android.view.View.OnClickListener) this);

        // 3. Access the EditText defined in layout XML
        mainEditText = (EditText) findViewById(R.id.main_edittext);

        // todo ListView content not showing.
        // 4. Access the ListView
        mainListView = (ListView) findViewById(R.id.main_listview);

        // Create an ArrayAdapter for the ListView
        mArrayAdapter = new ArrayAdapter(this,
                android.R.layout.simple_list_item_1,
                mNameList);

        // Set the ListView to use the ArrayAdapter
        mainListView.setAdapter(mArrayAdapter);

        // Also add that value to the list shown in the ListView
        mNameList.add(mainEditText.getText().toString());
        mArrayAdapter.notifyDataSetChanged();

        // Test output to logs
        for (int i = 0; i < mNameList.size(); i++)
        {
            String contents = mNameList.get(i).toString();
            Log.d("OMG Android mNameList: ", contents);
        }
    }

    @Override
    public void onClick(View v)
    {
        // Take what was typed into the EditText and use in TextView
        mainTextView.setText(mainEditText.getText().toString()
                + " is yoloing on Android development!");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
}

这是xml代码:

<!-- activity_main.xml -->

   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              tools:context=".MainActivity">

    <TextView
        android:id="@+id/main_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="20dp"
        android:text="@string/textview"/>

    <!-- This nested layout contains views of its own -->
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <!-- Set OnClickListener to trigger results when pressed -->
        <Button
            android:id="@+id/main_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:layout_marginLeft="20dp"
            android:text="@string/button" />
        <!-- Shows an image from your drawable resources -->
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:layout_marginLeft="20dp"
            android:src="@drawable/ic_launcher" />
        <!-- Closing tag for the horizontal nested layout -->
    </LinearLayout>

    <!-- Displays keyboard when touched -->
    <EditText
        android:id="@+id/main_edittext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="20dp"
        android:hint="@string/hint" />

    <!-- List whose dataset is defined in code with an adapter -->
    <ListView
        android:id="@+id/main_listview"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:layout_marginTop="20dp" />
</LinearLayout>

我用谷歌搜索并尝试了各种方法大约两个小时,但找不到问题。我选择的最低支持版本是4.0.3。我尝试从ListView中删除“ layout_weight”并给出20dp的“ layout_height”,只是看它是否是渲染问题,但仍然没有出现。无论我使用的是实际的layout_height还是layout_weight,都有一个突出显示的栏,如果我单击它,它似乎就是ListView所在的位置。问题是那里没有内容显示。文本字段值被保存或传输到ListView似乎有些问题。任何对此的见解将不胜感激!

黑带

mNameList最初是空的。在onClick中,您应该将新项目添加到ArrayAdapter的数据集中。像这样更改您的onClick:

    @Override
    public void onClick(View v)
    {
        // Take what was typed into the EditText and use in TextView
        mainTextView.setText(mainEditText.getText().toString()
                + " is yoloing on Android development!");
        mArrayAdapter.add(mainEditText.getText().toString());
    }

填写您的EditText并单击按钮

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android Listview不显示任何内容

来自分类Dev

带有ArrayAdapter的Android ListView不显示任何内容

来自分类Dev

更改方向时,Android Listview 不显示任何内容

来自分类Dev

Android-listView不显示

来自分类Dev

Android CardView不显示内容

来自分类Dev

ListView 的内容未显示 - Android

来自分类Dev

Android:Listview不显示任何结果

来自分类Dev

Android ListView根本不显示

来自分类Dev

Android-ExpandableListView不显示任何内容

来自分类Dev

内容在Android 4.1.1中不显示

来自分类Dev

android选项卡内容不显示

来自分类Dev

Android ViewPager不显示内容图像

来自分类Dev

Android Studio Logcat不显示任何内容

来自分类Dev

ListView 不显示内容

来自分类Dev

返回活动后,Android ListView不显示传入消息

来自分类Dev

带有ListView的Android TodoApp-列表不显示

来自分类Dev

Android ListView不显示数据库结果

来自分类Dev

返回活动后,Android ListView不显示传入消息

来自分类Dev

Android ArrayList适配器不显示ListView

来自分类Dev

android在viewholder中设置了widget的大小,但是内容不显示?

来自分类Dev

Android Wifi Direct onPeersAvailable不显示任何内容

来自分类Dev

Android ListView:如何解决ListView显示位错的内容

来自分类Dev

尽管ListView和SimpleAdapter拥有数据,Android ListView也不显示项目

来自分类Dev

片段中的ListView不显示任何内容

来自分类Dev

ListView不显示数据库的内容

来自分类Dev

两行ListView不显示内容

来自分类Dev

从 Android Studio 的 Palette 中拖放任何内容时不显示任何内容

来自分类Dev

如何在Android的ListView中显示html内容?

来自分类Dev

Android:-使用自定义ListView不会显示内容

Related 相关文章

热门标签

归档