Android-下一课功能

时间:2016-11-09 10:22:20

标签: java android android-studio android-fragments xamarin

我想在一个单独的课程中有一个方法/功能 当我调用它时,这将使我能够进入下一个活动或片段类 这是我的小代码尝试

在我的go_to.class中我有以下

用于活动

void goToActivity(Activity t){
        startActivity(new Intent(this, t.class));
    }

void goToFragment(Fragment f,package.com.R l){
        getSupportFragmentManager().beginTransaction().add(l,new f).commit();
    }

并使用示例

goToActivity(mynextactivity.class);

goToFragment(mynextfragment.class,R.id.fragment_layout);

欢迎任何帮助

2 个答案:

答案 0 :(得分:0)

从非活动类中,您可以创建一个如下函数:

public static void goToHomeActivity(Context context)
{
    Intent i = new Intent(context, ActivityDashboard.class);
    context.startActivity(i);
}

然后将其称为MyUtils.goToHomeActivity(context);

或者,从这样的活动类:

private void goToHomeActivity()
{
    Intent i = new Intent(getBaseContext(), ActivityDashboard.class);
    context.startActivity(i);
}`

然后将其称为goToHomeActivity();

答案 1 :(得分:0)

我经过多次试用后才这样解决: 我想要实现的是在运行时单击按钮时调用新活动类和片段的函数

void goToActivity(Class t){
        startActivity(new Intent(this, t));
    }

我在哪里得到片段概念错误的片段不是独立的活动类,所以要克服片段需要anactivity父或root布局来保存片段布局,你永远不能像单独的活动那样开始片段实例为了理解这个问题的重大问题

void goToFragment(Fragment f){
        fragmentTransaction.replace(R.id.your_layout, f);
fragmentTransaction.addToBackStack(null);
    }

或者如果你无法确定你的xml布局,你可以像这样写:

void goToFragment(int l,Fragment f){
            fragmentTransaction.replace(l, f);
    fragmentTransaction.addToBackStack(null);
        }

谢谢大家的帮助