0

嗨,我正在尝试让我的列表视图与 json 和我的 MainActivity 一起使用。我的onPostExecute(string result) 方法出错。它给了我以下错误:“未定义 MainActivity.getTweets 类型的方法 setListAdapter(CustomAdapter)”。我有以下内容:

MainActivity.java

public class Main Activity extends Activity {
    ArrayList<TweetDetailClass> tweets = new ArrayList<TweetDetailClass>();

    protected void onCreate(Bundle savedInstanceState) { .. }

    public boolean onCreateOptionsMenu(Menu menu) { .. }

    public void searchTwitter(View view){
        ...
        new GetTweets().execute(searchURL);
    }

    public class GetTweets extends AsyncTask<String, Void, String>{
        protected String doInBackground(String... twitterURL){ .. }
        protected void onPostExecute(String result) {
             setListAdapter(new CustomAdapter(MainActivity.this, R.layout.listview, tweets));
        }
    }  
}

自定义适配器构造函数

CustomAdapter(Context c, int textView, ArrayList<TweetDetailClass> data){
    //_data = data;
    //_c = c;
    super(c, textView, data);
    this._data = data;
}

谢谢你的帮助!我是初学者,所以任何帮助将不胜感激!

4

2 回答 2

1

setListAdapter()是一种方法ListActivity。您的活动(其名称显然是无效的Main Activity)似乎继承自Activity,而不是ListActivity

于 2013-05-02T00:36:59.243 回答
1

setListAdapter()只能在您的Activity扩展时使用ListActivity,并且我认为您的 xml 布局必须包含一个ListViewID 为“@android:id/list”的对象。

或者,如果您的Activity扩展Activity,您应该将适配器设置为:

yourListView.setAdapter(new CustomAdapter(MainActivity.this, R.layout.listview, tweets));

让我知道它是否有帮助!

于 2013-05-02T00:46:57.287 回答