Android-适配器代码不编译
我有一些我认为应该编译的代码,但没有:Android-适配器代码不编译,android,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
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);
import java.io.InputStream;
导入java.net.HttpURLConnection;
导入java.net.URL;
导入java.net.urlcoder;
导入java.util.ArrayList;
导入java.util.List;
导入org.json.JSONArray;
导入org.json.JSONObject;
导入com.problemio.ViewSolutionsActivity.downloadWebPagetTask;
导入com.problemio.data.Discussion;
导入com.problemio.data.DiscussionMessage;
导入com.problemio.data.SuggestedSolution;
导入android.app.Activity;
导入android.content.Intent;
导入android.content.SharedReferences;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.preference.PreferenceManager;
导入android.util.Log;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.Toast;
导入android.widget.AdapterView.OnItemClickListener;
公共类主题活动扩展活动
{
阵列适配器;
ArrayList discussion=新的ArrayList();
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.discussion);
//必须显示主题、现有讨论和表单字段。
讨论d=新讨论();
d、 setDiscussionTopicName(“正在加载讨论注释,请稍候”);
讨论.添加(d);
适配器=新阵列适配器(此,R.layout.discussion\u注释,discussion);
setListAdapter(适配器);
ListView lv=getListView();
lv.setTextFilterEnabled(真);
下面有更多代码,但带有setListAdapter(adapter)的行出现以下错误:
The method setListAdapter(ArrayAdapter<Discussion>) is undefined for the type TopicActivity
类型TopicActivity的方法setListAdapter(ArrayAdapter)未定义
知道为什么吗?我实际上是从另一个类复制了这段代码,并且在那里工作得很好
谢谢!我认为这应该有效
将您的类扩展到ListActivity
您需要使用ListActivity扩展您的活动。现在您已经
public class TopicActivity extends Activity
换成
public class TopicActivity extends ListActivity
只能在ListActivity中使用setListAdapter()
setListAdapter(adapter) works with
列表活动或
如果版面至少有一个id为android.R.id.list的列表视图,您是否尝试通过ListActivity扩展类?您的第二条语句不正确,setListAdapter()仅在ListActivity类中定义。它不能用于普通活动。