简体   繁体   English

android-列表无法解析或不是字段

[英]android - list cannot be resolved or is not a field

I ve been searching for hours and I can't figure out what I'm doing wrong. 我一直在寻找小时,但我无法弄清楚自己在做什么错。

"list cannot be resolved or is not a field" “列表无法解析或不是字段”

here is my search.java file: 这是我的search.java文件:

package com.example.testxxx;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.ListActivity;
import android.app.SearchManager;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;



public class Search extends ListActivity {

    private TextView mTextView;
    private ListView mListView;
    private String query;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.search);

        mTextView = (TextView) findViewById(R.id.text);
        mListView = (ListView) findViewById(R.id.list);
    }
}

and here is my search.xml layout: 这是我的search.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:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Search" >

<TextView
        android:id="@+id/text"
        android:textColor="?android:textColorPrimary"
        android:background="@android:drawable/title_bar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

<ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="0dp" />
</RelativeLayout>

I have noticed that if i change 我注意到如果我改变

android:id="@android:id/list"

to

android:id="@android:id/list"

then it will find it, but if i do so, i will have another error because I am extending listactivity that need the listview to have the ID set this way (android:id="@android:id/list") 然后它将找到它,但是如果我这样做,我将遇到另一个错误,因为我正在扩展listactivity,该listactivity需要以这种方式设置ID的listview(android:id =“ @ android:id / list”)

Do you have a solution? 你有解决方案吗? Thank you! 谢谢!

Just replace 只需更换

mListView = (ListView) findViewById(R.id.list);

with

mListView = (ListView) findViewById(android.R.id.list);

or simply you can call 或者只是你可以打电话

mListView = getListView()

as you are extending ListActivity and your xml layout contains a ListView with id android.R.id.list 当您扩展ListActivity ,您的xml布局包含ID为android.R.id.listListView

when you referencing to internal ID's (ID's may be drawable ID's, String ID's or any resource) then those ID's will not be generated in your R.java. 当您引用内部ID(ID可能是可绘制的ID,字符串ID或任何资源)时,这些ID将不会在您的R.java中生成。 you have to import those ID's from where you referenced. 您必须从引用位置导入这些ID。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM