Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用导航包中的startActivity_Java_Android_Android Intent_Package - Fatal编程技术网

Java 使用导航包中的startActivity

Java 使用导航包中的startActivity,java,android,android-intent,package,Java,Android,Android Intent,Package,首先,我是一个新手,是Android平台上的纯autodidact开发人员。我的java知识仍然很低,但我在两周后取得了进步:-) 我有十几个带有导航按钮的活动(pref,next,…)。对于所有这些按钮,我已经 此方法集成到当前活动类的右侧按钮中: private void showPrevActivity() { Intent intent = new Intent("ThePrevActivity"); this.startActivity(intent); } priv

首先,我是一个新手,是Android平台上的纯autodidact开发人员。我的java知识仍然很低,但我在两周后取得了进步:-)

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

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

private void showNextActivity() {
    Intent intent = new Intent("TheNextActivity");
    this.startActivity(intent);
}
用户告诉我,通过添加新按钮,可以更轻松地导航到应用程序中。现在,最终的应用程序就像一个蜘蛛网

因此,我想创建一个名为导航的包,并将其添加到这个包中 所有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”。我想我是 非常低的水平,看看如何做到这一点。任何帮助/建议都会非常有用

谢谢,


Vincent

好的,我找到了解决方案(我意识到我真的需要提高我的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);
所以,我想大多数高级用户(世界其他地方)可能会发现一些改进和调整。但是,根据我的情况,它工作得很好,可以节省我很多时间