您好我正在尝试让我的listview与json和MainActivity一起使用。我的 onPostExecute(字符串结果)方法上有错误。它给我以下错误:“方法setListAdapter(CustomAdapter)未定义类型MainActivity.getTweets”。我有以下内容:
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构造函数
CustomAdapter(Context c, int textView, ArrayList<TweetDetailClass> data){
//_data = data;
//_c = c;
super(c, textView, data);
this._data = data;
}
感谢您的帮助!我是初学者,所以非常感谢任何帮助!
答案 0 :(得分:1)
setListAdapter()
是ListActivity
上的一种方法。您的活动(其名称显然是无效的Main Activity
)似乎是从Activity
继承而非ListActivity
。
答案 1 :(得分:1)
setListAdapter()
只能在Activity
扩展ListActivity
的情况下使用,我认为您的xml布局必须包含ListView
对象,其ID为“@android:id / list ”
或者,如果您的Activity
扩展Activity
,则应将适配器设置为:
yourListView.setAdapter(new CustomAdapter(MainActivity.this, R.layout.listview, tweets));
让我知道它是否有帮助!