我是Android新手。我已经为联系示例创建了一个自动生成的列表活动。
我有两件事 -
ContactListActivity.java
/** auto generated code /**
在ContactListFragment.java
我已修改此方法以设置我的列表。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*** some code **/
setListAdapter(new ArrayAdapter<MyContact.Contact>(
getActivity(),
android.R.layout.simple_list_item_activated_1,
android.R.id.text1,
contactList));
我还没有修改任何xml。
现在我想显示一个可扩展的List而不是简单的列表。我写了一个简单的SimpleExpandableListAdapter
SimpleExpandableListAdapter myAdapter = new SimpleExpandableListAdapter(
getActivity(),
groupData,
android.R.layout.simple_expandable_list_item_1,
new String[] { NAME, IS_EVEN },
new int[] { android.R.id.text1, android.R.id.text2 },
childData,
android.R.layout.simple_expandable_list_item_2,
new String[] { NAME, IS_EVEN },
new int[] { android.R.id.text1, android.R.id.text2 }
);
但我无法通过调用
成功设置此适配器setListAdapter(myAdapter)
显示编译错误。
android.widget.ListAdapter can not be applied to android.widget.SimpleExpandableListAdapter
我必须做些什么改变?
这是我的activity_contact_list.xml
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:id="@+id/contact_list"
android:name="com.example.sarvesh.litecontacts.ContactListFragment"
android:layout_width="match_parent" android:layout_height="match_parent"
android:layout_marginLeft="16dp" android:layout_marginRight="16dp"
tools:context=".ContactListActivity" tools:layout="@android:layout/expandable_list_content" />
答案 0 :(得分:0)
错误:
android.widget.ListAdapter无法应用于 android.widget.SimpleExpandableListAdapter
表示当前在ListActivity
类中扩展ContactListActivity
,但将SimpleExpandableListAdapter
适配器对象传递给无效的setListAdapter
方法。
要在ContactListActivity
课程中使用展开式列表展开ExpandableListActivity而不是ListActivity
。