我制作了一个简单的联系人应用程序,现在我希望为此应用添加标签视图。我正在关注教程here。以下是我的MainActivity.jave源代码的一部分:
public class MainActivity extends ListActivity {
private ListView contactListView;
private CursorAdapter contactListViewAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
contactListView = getListView(); // get ListView id
contactListView.setOnItemClickListener(viewContactListListener);
String[] from = new String[] { "familyName" }; // built an String array
// named "from"
int[] to = new int[] { R.id.contactTextView };
contactListViewAdapter = new SimpleCursorAdapter(MainActivity.this,
R.layout.contact_list_item, null, from, to);
setListAdapter(contactListViewAdapter); // set adapter
}
我尝试将“公共类MainActivity扩展ListActivity”更改为“公共类MainActivity扩展TabActivity实现OnTabChangeListener {”。但是,我得到错误“方法getListView()未定义类型MainActivity”和其他类似的错误。我需要有关如何解决此问题的建议。谢谢你的帮助。
答案 0 :(得分:1)
ListActivity
提供了一些管理ListView
的帮助方法,因此,如果您想将父活动从ListActivity
更改为TabActivity
,则需要处理ListActivity
行为你自己。
基本上你需要获取并存储ListView
对象的某个地方。类似于mListView = (ListView) findViewById(android.R.id.list)
方法的onCreate
,然后实现遗漏方法
ListView getListView()
{
return mListView;
}
同样设置适配器会有所不同。不应该调用setListAdapter(contactListViewAdapter); // set adapter
,而应该contactListView.setAdapter(contactListViewAdapter);