安卓开发时使用listview时activity中的setadapter()方法报错

另外系统为什么找不到setListAdapter()方法,还有activity可以继承自AppCompatActivity吗

这是activity代码
package com.example.application;

import android.app.Activity;
import android.app.ListActivity;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class MainActivity extends ListActivity {

    private ListView listView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        SimpleAdapter adapter=new SimpleAdapter(this,getData(),R.layout.item,new String[]{"name","grade"},new int[]{R.id.item1,R.id.item2});
       listView.setAdapter(adapter);
    }
    private List<Map<String,Object>> getData()
    {
        List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();

        Map<String,Object> map =new HashMap<String,Object>();
        map.put("name","张三");
        map.put("grade", "大一");
        list.add(map);

        map.put("name","李四");
        map.put("grade", "大二");
        list.add(map);

        map.put("name","王五");
        map.put("grade", "大三");
        list.add(map);

        map.put("name","赵六");
        map.put("grade", "大四");
        list.add(map);

        map.put("name","TOM");
        map.put("grade", "退学");
        list.add(map);
        

        return list;




    }
}

这是xml代码

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

    <TextView
        android:id="@+id/item1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/item2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>



这是manifest.xml代码


    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.application" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
阅读 5.3k
1 个回答

就第一段代码来说,这是一段错误代码,布局文件未加载,listView变量未进行初始化就使用,这都是比较明显而低级的错误。另外,系统ListView不存在setListAdapter(),有setAdapter()相关方法。查看了题主过往的提问,类似低级问题不少,不知道是真的刚入门Android开发还是故意水帖。劝题主类似问题还是自己分析一下,基本问题还是很容易自己解决的,自己解决了问题才会转化为提高,伸手也要伸的能让人动容。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题