2016-09-05 11 views
0

私は特定のアイテムのリストフラグメントを作成しています。各項目をクリックすると、フラグメントのその項目に対して新しいリストフラグメントを開く必要があります。だから、あなたの中にクラスレベルで現在SellListFragmentをこれらのArrayListを作成ListClragmentのOnclickアイテムは新しいカスタムListFragmentを開きます

public class SellListFragment extends ListFragment implements OnItemClickListener { 

String[] menutitles; 
TypedArray menuIcons; 

SellCustomAdapter adapter; 
private List<RowItem> rowItems; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

    return inflater.inflate(R.layout.list_fragment, null, false); 
} 

@Deprecated 
@Override 
public void onActivityCreated(Bundle savedInstanceState) { 

    super.onActivityCreated(savedInstanceState); 

    menutitles = getResources().getStringArray(R.array.titles); 
    menuIcons = getResources().obtainTypedArray(R.array.icons); 

    rowItems = new ArrayList<RowItem>(); 

    for (int i = 0; i < menutitles.length; i++) { 
     RowItem items = new RowItem(menutitles[i], menuIcons.getResourceId(i, -1)); 
     rowItems.add(items); 
    } 

    adapter = new SellCustomAdapter(getActivity(), rowItems); 
    setListAdapter(adapter); 
    getListView().setOnItemClickListener(this); 

} 

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, 
         long id) { 
    // ((CategorySelectedListener)getActivity()).categorySelected(position); 
    //Toast.makeText(getActivity(), menutitles[position], Toast.LENGTH_SHORT).show(); 
    ; 
} 
} 
+0

あなたが直面している問題は何ですか? – tpk

+0

次のリストに進む方法を教えてください – gStephin

+0

私はあなたが望むものをはっきりと理解していませんでした。 – tpk

答えて

1

....私listfragmentコードを掲示イム。 onCreate()

ArrayList<ArrayList<String>> subCategoriesList=new ArrayList<>();  //Arraylist which will contain all the subCategories. 
ArrayList<String> subCategoriesForCategory1=new ArrayList<>();  //ArrayList of sub categories for category 1.   
ArrayList<String> SubCategoriesForCategory2=new ArrayList<>();  //Repeat for as many categories you have. 

あなたのサブカテゴリarrylistsを埋めます。

subCategoriesForCategory1.add("SubCat1"); 
subCategoriesForCategory1.add("SubCat2");  //Repeat as per your needs 

subCategoriesForCategory2.add("SubCat1"); 
subCategoriesForCategory2.add("SubCat2");  //Repeat as per your needs 

subCategoriesList.add(subCategoriesForCategory1);   //add to main arrayList 
subCategoriesList.add(subCategoriesForCategory2);   //Repeat 

FragmentToBeReplacedWithonCreate()

ArrayList<String> subCategories=new ArrayList<>(); 

が行うグローバルのArrayListを作成FragmentToBeReplacedWithonItemClick()

FragmentManager fm=getActvity().getSupportFragmentManager(); 
FragmentTransaction ft=fm.beginTransaction(); 
FragmentToBeReplacedWith fragmentObj=new FragmentToBeReplacedWith(); 
Bundle bundle=new Bundle(); 
bundle.putStringArrayList("subcategories",subCategoriesList.get(position));  //Repeat for as many values you want to pass. Explore for what suits your needs. 
fragmentObj.setArguments(bundle); 
ft.replace(R.id.id_of_fragment_container,fragmentObj); 
ft.addToBackStack("setSomeUniqueName"); //Optional and nullable 
ft.commit(); 

の内側にこのコードを入れて

Bundle bundle=getArguments(); 
subCategories=bundle.getStringArrayList("subcategories"); 

ArrayList subCategoriesの値を必要に応じて使用してください。 これが役立つことを願っています。

関連する問題