0

我有一个带有片段的应用程序。它工作正常。

其中一个片段有一个按钮,按下时我想更改视图。

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() 应该改变视图,所以,用户在同一个选项卡中,但内容不同

是否可以?

4

2 回答 2

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();
于 2013-01-17T12:26:31.960 回答
0

我认为你可以很容易地做你想做的事。如果 OpenNewView 是由 Activity 实现的,而不是由 Fragment 实现的:

getActivity().openNewView(...)

... 然后 Activity 可以使用标准事务机制轻松地将当前片段替换为新片段。

G.布莱克·梅克·马拉卡纳

Programming Android 2ed 现在在商店: http ://bit.ly/programmingandroid

于 2013-01-17T18:52:03.840 回答