Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android “错误”;无法解析符号';listView'&引用;对于CustomListAdapter_Android_Listview - Fatal编程技术网

Android “错误”;无法解析符号';listView'&引用;对于CustomListAdapter

Android “错误”;无法解析符号';listView'&引用;对于CustomListAdapter,android,listview,Android,Listview,我目前正在制作一个基本的自定义列表数据。 在我的MainActivity上,当试图从XML文件中查找我的ListView时,它显示此错误 以下是我的MainActivity.java: public class MainActivity extends ListActivity { ListView list; String[] itemName = { "Item 1", "Item 2", "Item

我目前正在制作一个基本的自定义列表数据。
在我的MainActivity上,当试图从XML文件中查找我的ListView时,它显示此错误

以下是我的MainActivity.java:

public class MainActivity extends ListActivity {

    ListView list;

    String[] itemName = {
            "Item 1",
            "Item 2",
            "Item 3"
    };
    String [] itemContent = {
            "Item Content 1",
            "Item Content 2",
            "Item Content 3"
    };

    Integer[] imageId = {
            R.mipmap.pic1,
            R.mipmap.pic2,
            R.mipmap.pic3,
    };

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

        CustomListAdapter adapter = new CustomListAdapter(this, itemName, itemContent, imageId);
        list = (ListView)findViewById(R.id.list);
        list.setAdapter(adapter);

        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
                String SelectedItem = itemName[+position];
                Toast.makeText(getApplicationContext(), SelectedItem, Toast.LENGTH_SHORT).show();
            }
        });
    }
}
public类MainActivity扩展了ListActivity{
列表视图列表;
字符串[]项名称={
“项目1”,
“项目2”,
“项目3”
};
字符串[]项内容={
“项目内容1”,
“项目内容2”,
“项目内容3”
};
整数[]图像ID={
R.mipmap.pic1,
R.mipmap.pic2,
R.mipmap.pic3,
};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CustomListAdapter=新的CustomListAdapter(this、itemName、itemContent、imageId);
list=(ListView)findViewById(R.id.list);
list.setAdapter(适配器);
list.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView AdapterView,视图视图,整型位置,长id){
字符串SelectedItem=itemName[+position];
Toast.makeText(getApplicationContext(),SelectedItem,Toast.LENGTH_SHORT).show();
}
});
}
}
下面是XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@android:id/list"
        android:layout_centerHorizontal="true" />

</RelativeLayout>


正如@Sourav在上面的代码中所指出的,您没有在android:id=“@android:id/list”中添加+签名。通过在id中添加+符号,表示您正在给予
(分配)新ID给该元素,但没有+意味着您引用的是代码中其他地方已声明的其他ID

findViewById
行在
ListActivity

list = (ListView)findViewById(R.id.list);
它可以通过
getListView()
获取,也可以手动获取

list = (ListView)findViewById(android.R.id.list);
基本上,您的XML使用的是
android.R.id.list
,而不是
R.id.list
。这是不同的


如果看到无法解决
ListView
的错误,则缺少
import
语句

请尝试使用
android:id=“@+id/list”
而不是
android:id=“@android:id/list”
符号。不要再使用
ListActivity
@android:id/list
是一个预定义的id,返回时不需要加号,但无论是否使用+号都不起作用。