ExpandableListFragmentを使用して、TabHostフラグメント内にExpandableListを作成しています
ここからExpandableListFragmentのコードを入手しましたhttps://gist.github.com/1316903
テキストの色を変更する方法がわからないことを除けば、問題なく動作しているようです。
私の実装は次のようになります
public class LocalListFragment extends ExpandableListFragment {
private static final String NAME = "NAME";
private static final String IS_EVEN = "IS_EVEN";
private ArrayList<String> mGroups;
private ArrayList<ArrayList<Song>> mChildren;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
// Set up our adapter
List<Map<String, String>> groupData = new ArrayList<Map<String, String>>();
List<List<Map<String, String>>> childData = new ArrayList<List<Map<String, String>>>();
for (int i = 0; i < 10; i++) {
Map<String, String> curGroupMap = new HashMap<String, String>();
groupData.add(curGroupMap);
curGroupMap.put(NAME, "GROUP" + i);
//curGroupMap.put(IS_EVEN, (i % 2 == 0) ? "This group is even" : "This group is odd");
List<Map<String, String>> children = new ArrayList<Map<String, String>>();
for (int j = 0; j < 5; j++) {
Map<String, String> curChildMap = new HashMap<String, String>();
children.add(curChildMap);
curChildMap.put(IS_EVEN, "Child " + j);
}
childData.add(children);
}
mAdapter = new SimpleExpandableListAdapter(
getActivity().getApplicationContext(),
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 }
);
//TextView tv = (TextView)getActivity().findViewById(android.R.id.text1);
//tv.setTextColor(0xffff0000);
setListAdapter(mAdapter);
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
Log.i("TAG", "Item selected");
}
}
私の推測では、「new int [] {android.R.id.text1、android.R.id.text2}」という行はそれと多くの関係がありますが、これについては少し混乱しています。
誰か助けてもらえますか?新しいTextViewIDを作成し、textColorを指定する必要がありますか?私は試しましたが、それを理解できませんでした。ありがとう。