Android - 适配器代码无法编译

时间:2012-03-20 18:05:05

标签: android

我有一些代码,我认为应该编译,但不会:

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;

import org.json.JSONArray;
import org.json.JSONObject;

import com.problemio.ViewSolutionsActivity.DownloadWebPageTask;
import com.problemio.data.Discussion;
import com.problemio.data.DiscussionMessage;
import com.problemio.data.SuggestedSolution;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class TopicActivity extends Activity 
{
    ArrayAdapter<Discussion> adapter;       

    ArrayList<Discussion> discussion = new ArrayList <Discussion>( );   

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.discussion);

        // Have to display the topic, and the existing discussion, and the form field.



        Discussion d = new Discussion ();
        d.setDiscussionTopicName( "Please wait while the discussion comments load" );

        discussion.add(d);
        adapter = new ArrayAdapter<Discussion>( this,R.layout.discussion_comments, discussion);

        setListAdapter(adapter);

        ListView lv = getListView();
        lv.setTextFilterEnabled(true);

下面有更多代码,但是带有setListAdapter(适配器)的行;给出了这个错误:

The method setListAdapter(ArrayAdapter<Discussion>) is undefined for the type TopicActivity

知道为什么吗?我实际上从另一个类中复制了这个代码,它在那里工作得很好。

谢谢!

4 个答案:

答案 0 :(得分:2)

我认为这应该有效extends your class to ListActivity

答案 1 :(得分:2)

您需要使用ListActivity扩展您的活动。现在你有

public class TopicActivity extends Activity 

将其更改为

public class TopicActivity extends ListActivity

答案 2 :(得分:2)

您只能在ListActivity中使用setListAdapter()

答案 3 :(得分:1)

   setListAdapter(adapter) works with

ListActivity

如果布局至少有一个列表视图,其id为 android.R .id.list