私は、拡張可能なリストの子をクリックして別のリソースを読み込むことができるように、側面の拡大可能リストと反対側のフラグメントを使用するAndroidインターフェイスをプログラミングしようとしています。しかし残念ながら私はどこでもこのリストに関する良いチュートリアルを見つけることができません。はい、私はAPIデモを見てきましたが、BaseExpandableListAdapterを使って通常のリストを作成しましたが、これらのリストを理解するのは良いチュートリアルがなければ難しいです。Android ExpandableListView - チュートリアルを探しています
答えて
を与える:
子供をクリックすると、このように処理できます。
getExpandableListView().setOnChildClickListener(new OnChildClickListener() {
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
// your code...
}
});
希望すると、これが役立ちます。 おかげ..
List<ParentItem> itemList = new ArrayList<ParentItem>();
ParentItem parent1 = new ParentItem();
parent1.getChildItemList().add(new ChildItem());
parent1.getChildItemList().add(new ChildItem());
parent1.getChildItemList().add(new ChildItem());
ParentItem parent2 = new ParentItem();
parent2.getChildItemList().add(new ChildItem());
parent2.getChildItemList().add(new ChildItem());
parent2.getChildItemList().add(new ChildItem());
itemList.add(parent1);
itemList.add(parent2);
ExpandableListViewAdapter adapter = new ExpandableListViewAdapter(context, itemList);
データオブジェクト項目のリストを作成します
public class ParentItem {
private List<ChildItem> childItemList;
public ParentItem() {
childItemList = new ArrayList<ChildItem>();
}
public List<ChildItem> getChildItemList() {
return childItemList;
}
}
public class ChildItem {
// filll with your data
}
アダプタ
public class ExpandableListViewAdapter extends BaseExpandableListAdapter {
private static final class ViewHolder {
TextView textLabel;
}
private final List<ParentItem> itemList;
private final LayoutInflater inflater;
public ExpandableListViewAdapter(Context context, List<ParentItem> itemList) {
this.inflater = LayoutInflater.from(context);
this.itemList = itemList;
}
@Override
public ChildItem getChild(int groupPosition, int childPosition) {
return itemList.get(groupPosition).getChildItemList().get(childPosition);
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public int getChildrenCount(int groupPosition) {
return itemList.get(groupPosition).getChildItemList().size();
}
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView,
final ViewGroup parent) {
View resultView = convertView;
ViewHolder holder;
if (resultView == null) {
resultView = inflater.inflate(android.R.layout.test_list_item, null); //TODO change layout id
holder = new ViewHolder();
holder.textLabel = (TextView) resultView.findViewById(android.R.id.title); //TODO change view id
resultView.setTag(holder);
} else {
holder = (ViewHolder) resultView.getTag();
}
final ChildItem item = getChild(groupPosition, childPosition);
holder.textLabel.setText(item.toString());
return resultView;
}
@Override
public ParentItem getGroup(int groupPosition) {
return itemList.get(groupPosition);
}
@Override
public int getGroupCount() {
return itemList.size();
}
@Override
public long getGroupId(final int groupPosition) {
return groupPosition;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View theConvertView, ViewGroup parent) {
View resultView = theConvertView;
ViewHolder holder;
if (resultView == null) {
resultView = inflater.inflate(android.R.layout.test_list_item, null); //TODO change layout id
holder = new ViewHolder();
holder.textLabel = (TextView) resultView.findViewById(android.R.id.title); //TODO change view id
resultView.setTag(holder);
} else {
holder = (ViewHolder) resultView.getTag();
}
final ParentItem item = getGroup(groupPosition);
holder.textLabel.setText(item.toString());
return resultView;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
}
は、あなたがリンクをたどって拡張可能なリストビューの作業例を見つけることができますあなたの
==============================
+Parent 1
==============================
-child 1.1
==============================
-child 1.2
==============================
-child 1.3
==============================
+Parent 2
==============================
-child 2.1
==============================
-child 2.2
==============================
-child 2.3
==============================
ですが、どのようにしてリストの子に対してclickイベントを処理できますか?私が見つけたすべてのチュートリアルの主な問題です。 – DeX03
'セミコロン(;)'が見つからない '
null 'holder.textLabel.setText(item.toString() ); '、どのようにそれを修正しましたか? –
あなたがイベントを処理することができますこの方法:私は、これは「建設的ではない」としてマークされていた信じることができない
getExpandableListView().setOnChildClickListener(new OnChildClickListener()
{
public boolean onChildClick(ExpandableListView parent,
View v, int groupPosition, int childPosition, long id)
{
// your code...
}
}
無関係な回答.... –
- 1. ステップバイステップを探してDBUtilsチュートリアル
- 2. XPCEチュートリアルを探す
- 3. ARMダーウィンアセンブリ - システムコールを探しています(おそらくチュートリアル)
- 4. ExpandableListViewグループのAndroid LongClickListener
- 5. Android ExpandableListViewとSQLiteデータベース
- 6. AndroidカスタムExpandablelistviewがonChildClickをトリガーしない
- 7. 3レベルExpandableListView Android
- 8. Android Navigation Drawer ExpandableListView
- 9. Android ExpandableListView GroupIndicator gravity
- 10. android notifyDataSetChanged ExpandableListViewが動作しない
- 11. 偉大なSimpleXMLチュートリアル(XMLからULへ> LIリスト)を探しています
- 12. Android ExpandableListView親のボタン
- 13. Android ExpandableListViewデータベースから
- 14. Android ExpandableListViewの高さ
- 15. Android ExpandableListViewインジケータ/アイコンは常に伸びています
- 16. Androidスタジオ:ExpandableListViewとEditText
- 17. Android ExpandableListView ChildViewのCheckBox
- 18. チュートリアルや書籍を探して、詳細を説明しますAndroidCameraとSurfaceView?
- 19. ExpandableListViewは、子がないグループのインジケータを示しています
- 20. 深いキーボード開発チュートリアルをお探しですか?
- 21. まともなiOS 5開発チュートリアルをお探しですか?
- 22. WCF basicHttpBinding httpsチュートリアルやサンプルを探す
- 23. PHPを使用してプライベートメッセージングシステムを構築する方法に関するチュートリアルを探しています
- 24. ポストシャープ/ラオスの良いチュートリアル/ドキュメントを探して、 "ライブラリアン"のサンプルを理解する
- 25. Android用レーダー/ポーラ/ローズチャートを探しています
- 26. リアクションネイティブAndroid - リリースapk "has stopped" - "index.ios"を探しています
- 27. マルチプラットフォームのチャーミングライブラリ(AndroidおよびiOS)を探しています
- 28. 私はAndroidのチュートリアルを追ってきたAndroidのチュートリアル
- 29. アンドロイドパターンロックを探しています
- 30. Androidで複数レベルのExpandableListView
!それは非常に建設的で、答えは非常に有用でした!この質問を投稿してくれてありがとう、DeX03。 –