嗯,我能夠通過充氣顯示了用一個適配器類的getView方法中適配器一個GridView擴展底座適配器一個片段來實現所需的功能。但由於翻轉無法翻轉這個具有網格視圖的片段的下一個項目,所以我需要採用不同的技術。即我必須創建硬編碼屏幕和定義適配器的硬編碼計數,我用它來設置它來翻轉視圖控制器和內部獲取此適配器的視圖方法取決於位置我加載不同的XML並相應實例化視圖。我知道這是非常糟糕的技術和詳盡的,但現在這是我找到的唯一解決方案。
這裏是我的代碼
FragmentLoaderAdapterFragment.java
public class FragmentLoaderAdapterFragment extends Fragment {
private FlipViewController flipView;
public FragmentLoaderAdapterFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
flipView = new FlipViewController(inflater.getContext());
flipView.setAdapter(new SingleFragmentDisplayAdapter());
return flipView;
}
@Override
public void onResume() {
super.onResume();
flipView.onResume();
}
@Override
public void onPause() {
super.onPause();
flipView.onPause();
}
@Override
public void onDestroy() {
super.onDestroy();
flipView = null;
}
private class SingleFragmentDisplayAdapter extends BaseAdapter {
public SingleFragmentDisplayAdapter() {
}
@Override
public int getCount() {
return 2;
}
@Override
public Object getItem(int i) {
return i;
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if (i==0){
view = View.inflate(getActivity(),R.layout.fragment_consumer_products,null);
LinearLayout cableLinearLayout = (LinearLayout) view.findViewById(R.id.cablesLayout);
cableLinearLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getActivity(), "Clicked", Toast.LENGTH_SHORT).show();
}
});
return view;
} if (i==1){
view = View.inflate(getActivity(),R.layout.fragment_consumer_products2,null);
LinearLayout cableLinearLayout = (LinearLayout) view.findViewById(R.id.cablesLayout);
cableLinearLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getActivity(), "Clicked", Toast.LENGTH_SHORT).show();
}
});
return view;
} else {
return null;
}
}
}
}
