繁体   English   中英

Android无法解析或不是字段

[英]Android cannot be resolved or is not a field

好吧,所以在你去开始说明之前,去看看,因为你的标题与这里提出的许多问题相符。 在那种情况下,你是对的,但是......我在这些问题上尝试的每件事都没有帮助我。

所以我实际上正在尝试为Android设备(Still Learning)构建一个RssFeed应用程序。 请注意,我的问题出现在MainActivity中。 我的所有类,xmls和其他内容都已正确编码,没有任何问题或错误。 人们说你应该摆脱包含“android.r”的导入,我已经查看并且没有找到包含所述引用的任何导入。

我的MainActivity代码:

package com.ascendapps.licknriff;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.ascendapps.licknriff.R;

public class MainActivity extends Activity {

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


        try {

            RssReader rssReader = new RssReader("http://www.licknriff.com/feed/");
            ListView Items = (ListView)findViewById(R.id.listView1);
            // create a list adapter
            ArrayAdapter<RssItem> adapter = new ArrayAdapter<RssItem>(this.android.R.layout.simple_list_item_1, RssReader.getItems());
            // --
            Items.setAdapter(adapter);
            // --
            Items.setOnItemClickListener(new ListListener(RssReader.getItems(), this));     }catch (Exception e){
            Log.e("SimpleRssReader", e.getMessage());

        }
    }
}

改变这个:

ArrayAdapter<RssItem> adapter = new ArrayAdapter<RssItem>(this.android.R.layout.simple_list_item_1, RssReader.getItems());

对此:

ArrayAdapter<RssItem> adapter = new ArrayAdapter<RssItem>(this, android.R.layout.simple_list_item_1, RssReader.getItems());

this应该作为ArrayAdapter类的构造函数中的上下文传递。

更换

ArrayAdapter<RssItem> adapter = new ArrayAdapter<RssItem>(this.android.R.layout.simple_list_item_1, RssReader.getItems());

ArrayAdapter<RssItem> adapter = new ArrayAdapter<RssItem>(this, android.R.layout.simple_list_item_1, RssReader.getItems());

android是Android R类的命名空间。 它不属于您的活动类。

第一个参数是Context类型,因此activity是一个合适的参数,因为它继承自Context

你有一个句号,但你需要一个逗号,在this之后 -

// ArrayAdapter<RssItem> adapter = new ArrayAdapter<RssItem>(
//     this.android.R.layout.simple_list_item_1, RssReader.getItems());
ArrayAdapter<RssItem> adapter = new ArrayAdapter<RssItem>(
    this, android.R.layout.simple_list_item_1, RssReader.getItems());

我认为你有拼写错误。 编写代码时,只需键入即可. (点)而不是','(逗号)。 只需更换. ,之后this就像下面,

ArrayAdapter<RssItem> adapter = new ArrayAdapter<RssItem>(this, android.R.layout.simple_list_item_1, RssReader.getItems());

暂无
暂无

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

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