Android 将字符串的ArrayAdapter绑定到ListVew:(帮助)时出错

Android 将字符串的ArrayAdapter绑定到ListVew:(帮助)时出错,android,Android,我不知道如何将ListView绑定到从资源文件.Android中提取的字符串数组 这是我经过数小时的努力后得到的代码。我找不到任何清晰的文档来真正解释如何做到这一点。从概念上讲,我觉得这是对的,所以可能我缺少一些Android领域的核心知识 以下是日志中的具体问题: 03-23 02:38:40.169:错误/AndroidRuntime(1156):原因:java.lang.UnsupportedOperationException:AdapterView中不支持addView(视图,布局参数

我不知道如何将ListView绑定到从资源文件.Android中提取的字符串数组

这是我经过数小时的努力后得到的代码。我找不到任何清晰的文档来真正解释如何做到这一点。从概念上讲,我觉得这是对的,所以可能我缺少一些Android领域的核心知识

以下是日志中的具体问题:

03-23 02:38:40.169:错误/AndroidRuntime(1156):原因:java.lang.UnsupportedOperationException:AdapterView中不支持addView(视图,布局参数)

以下是我正在使用的代码:

Main.xml


strings.xml

应用程序系统
项目1
项目2
项目3
项目4
main.java
package com.appsystems.appname;
导入android.app.Activity;
导入android.os.Bundle;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
公共类主要扩展活动{
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView menuMain=(ListView)findViewById(R.id.menuMain);
字符串[]mainMenuItems=getResources().getStringArray(R.array.mainMenuItems);
ArrayAdapter aa;
aa=新阵列适配器(此,R.id.menuMain_项,主菜单项);
menuMain.setAdapter(aa);
}
}

我认为为了在ListView上使用ArrayAdapter,我认为您的主类需要扩展ListActivity

public class Main extends ListActivity {

我也是新手,所以我不确定。你可以试试这个。

为了使用
ArrayAdapter
创建一个简单的列表,你必须为它的构造函数提供一个包含单个
TextView
的布局。 删除
TextView
中的
menuMain
并将arrayAdapter构造函数更改为:

aa = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, mainMenuItems);
aa=newarrayadapter(这是android.R.layout.simple\u list\u item\u 1的主菜单项);

好的,我刚刚了解到android.R.layout.simple_list_item_1是API的一部分。我几个小时都不知道这意味着什么,尽管我到处都能看到它。因此,我似乎可以使用android API提供的布局,或者我可以创建一个带有单个文本视图和引用的布局?如果是这样,我认为优势在于我可以自定义自己的文本View?这也是我尝试将aTextView放在ListView中的原因。我希望文档能够更好地解释android.R.layout.simple_list_item_1的使用。Wrox的“专业android 2应用程序开发”不幸的是,我没有解释这一点。如果我能找到推荐书,我可能会把这本书拿回去,换一本不同的安卓书。我建议你把你的安卓书拿回去,呆在这里、SDK文档以及一般的在线安卓书/网站中……等等。这些书在网上都是免费的
package com.appsystems.appname;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class Main extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ListView menuMain = (ListView)findViewById(R.id.menuMain);
        String[] mainMenuItems = getResources().getStringArray(R.array.mainMenuItems);
        ArrayAdapter<String> aa;


        aa = new ArrayAdapter<String>(this, R.id.menuMain_item, mainMenuItems);

        menuMain.setAdapter(aa);
    }
}
public class Main extends ListActivity {
aa = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, mainMenuItems);