使用Navigation包中的startActivity

时间:2013-11-15 10:10:27

标签: java android android-intent package

首先,我是Android平台上的新手和纯自学者开发者。我对java的了解仍然很低,但我在2周后取得了进展: - )

我有十几个带导航按钮的活动(pref,next,...)。对于所有这些按钮,我已经 集成到当前活动类的右侧按钮中的方法如下:

private void showPrevActivity() {
    Intent intent = new Intent("ThePrevActivity");
    this.startActivity(intent);
}

private void showNextActivity() {
    Intent intent = new Intent("TheNextActivity");
    this.startActivity(intent);
}

直到用户说我通过添加新按钮可以更轻松地导航到应用程序的线性方式。现在,最终的应用程序就像一个蜘蛛网。

所以,我想创建一个名为Navigation的包并添加到这个包中 所有showX方法(或者,最好的方法,一般的showActivity方法)。我创建了这个

package fr.demo.appli.navigation;
import android.content.Intent;
public class Navigation {
    // Add Show Methods to display all the Activities
    public static void showLogin() {
        //...
}
    public static void showOneActivity() {
        Intent intent = new Intent("OneActivity");
        this.startActivity(intent);
    }
}

问题是我无法访问导航类中的'this'。我想我是 非常低,看看如何做到这一点。任何帮助/建议都非常有用。

谢谢,

文森特

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案(我意识到我真的需要提高我的Java级别......)。 我希望它能帮助其他用户。

首先,我创建了一个包含所有内容的包导航(我的目的也是 绕过Eclipse关于活动名称自动完成的限制。

首先,我按照描述创建了我的包:

package fr.demo.appli.navigation;

import android.app.Activity;
import android.content.Intent;

public class Navigation {
    public static class Screens {
        //
        public static String Activity1Activity = "Activity1Activity";
        public static String Activity2Activity = "Activity2Activity";
    }
    public static void showActivity(Activity curActivity, String nextActivityName) {
        Intent intent = new Intent(nextActivityName);
        curActivity.startActivity(intent);
    }
}

然后,在我的代码中,我只需要调用我的showActivity方法,如下所示:

例如#1:在点击监听器中

Navigation.showActivity(ActivityName.this, Navigation.Screens.Activity1Activity);

例如#2:最简单的电话

Navigation.showActivity(this, Navigation.Screens.Activity1Activity);

所以,我猜大多数高级用户(世界其他地方)可能会发现一些增强功能,调整。但是,根据我的情况,它完美地工作,它将节省我很多时间。