我有一个带片段的应用。它工作正常。
其中一个片段有一个按钮,按下时我想改变视图。
public class BikeRecap extends Fragment {
public static Activity activity;
public static Context context;
/** Called when the activity is first created. */
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
activity = getActivity();
context = activity.getApplicationContext();
View view = inflater.inflate(R.layout.bike_recap, container, false);
ImageButton details = (ImageButton) item.findViewById(R.id.details);
details.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
OpenNewView();
}
});
return view;
}
OpenNewView()应该更改视图,因此,用户在同一个选项卡中,但内容不同
有可能吗?
答案 0 :(得分:1)
片段内不能有片段。
试试这段代码:
FragmentManager fragmentManager2 = getFragmentManager();
FragmentTransaction fragmentTransaction2 = fragmentManager2.beginTransaction();
DetailFragment fragment2 = new DetailFragment();
fragmentTransaction2.addToBackStack("abc");
fragmentTransaction2.hide(BikeRecap.this);
fragmentTransaction2.add(android.R.id.content, fragment2);
fragmentTransaction2.commit();
答案 1 :(得分:0)
我认为你可以很容易地做你想做的事情。如果OpenNewView是由Activity实现的,而不是由片段实现的:
getActivity()。openNewView(...)
...然后,Activity可以使用标准事务机制轻松地用新的片段替换当前片段。
-G。 Blake Meike Marakana
编程Android 2ed现在在商店中: http://bit.ly/programmingandroid