简体   繁体   中英

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:

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:

<?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")

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

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. you have to import those ID's from where you referenced.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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