MainActivity中的setListAdapter

时间:2013-05-02 00:31:37

标签: java android

您好我正在尝试让我的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;
}

感谢您的帮助!我是初学者,所以非常感谢任何帮助!

2 个答案:

答案 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));

让我知道它是否有帮助!