首先,我是 Android 平台上的新手和纯自学开发人员。我对 Java 的了解仍然很低,但自 2 周以来我取得了进步:-)
我有许多带有导航按钮(pref、next、...)的 Activity。对于所有这些按钮,我 集成到当前 Activity 类的右键这样一个方法:
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”。我想我是 水平很低,看看如何做到这一点。任何帮助/建议都会非常有用。
谢谢,
文森特
请您参考如下方法:
好的,我找到了解决方案(我意识到我真的需要提高我的Java水平......)。 我希望它能帮助其他用户。
首先,我创建了一个 Navigation 包,里面有我所有的东西(我的目的也是为了 绕过Eclipse对Activity名称自动补全的限制。
首先,我按照描述创建了我的包:
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);
因此,我猜大多数高级用户(世界其他地区)可能会发现一些增强和调整。但是,根据我的情况,它工作得很好并且会节省我很多时间。