1

我尝试使用数组运行一个简单的列表视图应用程序。我的程序没有错误,但模拟器中没有显示任何内容。显示为空屏幕。为什么?

这是我的程序:

package com.example.lvdb;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;

public class MainActivity extends ListActivity {

      String [] values={"TAXI","FOOD","TICKET BOOKING","HOSPITAL"};

    protected void oncreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ListView lists=getListView();
        lists = (ListView) findViewById(R.id.lv);
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,values);
        lists.setAdapter(adapter);


    }

}
4

2 回答 2

3
  1. Java 区分大小写:protected void oncreate(Bundle savedInstanceState) {..
  2. 您的内容必须有一个 ID 属性为“android.R.id.list”的 ListView
  3. ListView lists=getListView();并且lists = (ListView) findViewById(R.id.lv);实际上是同一件事(但您最好使用第一个)

    package com.example.lvdb;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import android.app.Activity;
    import android.app.ListActivity;
    import android.os.Bundle;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.ListAdapter;
    import android.widget.ListView;
    import android.widget.SimpleCursorAdapter;
    
    public class MainActivity extends ListActivity {
    
        String [] values={"TAXI","FOOD","TICKET BOOKING","HOSPITAL"};
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, values))
        }
    
    }
    

在此处输入图像描述

你的情况:

public class MyActivity extends ListActivity {

    String [] values={"TAXI","FOOD","TICKET BOOKING","HOSPITAL"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ListView lists=getListView();
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,values);
        lists.setAdapter(adapter);
    }

}

活动主:

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@android:id/list"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
        >
</ListView>
于 2013-08-13T07:58:58.050 回答
0

首先检查列表的 xml 文件 ID。必须是@+id/list

之后,获取一个列表并设置适配器。

代码 :

        ListView lists=getListView();
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,values);
        setListAdapter(adapter);

必须在设置适配器之前设置值。

于 2013-08-13T08:01:49.407 回答