这是使用兼容包的小型Android 2.2测试应用程序.这是(当然错误的)我在接收点击时尝试替换片段的方式.我正在尝试用相同Fragment类的新(不同)实例替换它.正如我将解释它不能按预期工作,我需要帮助:
public class MainFragmentActivity extends FragmentActivity {
...
public void myAction(View view) {
...
RightFragment newRightFrag = RightFragment.newInstance(myNewOption);
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
ft.replace(R.id.landscape_right_fragment, newRightFrag);
ft.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
你一定会看到我的错误.无论如何,让我们更多地解释应用程序应该做什么:
景观取向:
--------- ----------
| L | R | -> click -> | L | R2 |
--------- ----------
Run Code Online (Sandbox Code Playgroud)
在横向方向上,活动有一个包含2个片段的视图:" leftLand "和" rightLand ",如果单击片段" leftLand " 的按钮,则它会更改创建一个新片段并将" rightLand "片段实例替换为另一个片段FragamentActivity类的实例.使这两个实例不同的是传递给"newInstance(int)"的参数,它基于单击的按钮.
纵向 :
----- -----
| | | |
| L | -> click -> | R |
| | | | …Run Code Online (Sandbox Code Playgroud) 所以,我有MAIN ACTIVITY(M)两个FRAGMENTS(F1, F2)和一个BUTTON(B)上F1。
现在,当主要活动开始时F1会自动加载,这很好,我想要做的是F2在我点击Bwhich is on 时开始F1。
以下是我的 Fragment1 代码,即 HomeFragment:
package info.androidhive.slidingmenu;
import java.lang.reflect.Field;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageButton;
public class HomeFragment extends Fragment {
public static HomeFragment newInstance()
{
return new HomeFragment();
}
public HomeFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState){
View rootView = …Run Code Online (Sandbox Code Playgroud)