java - 如何使用单击按钮从任何 Activity 重定向到下一个 Activity ?

标签 java android android-studio android-fragments android-intent

我正在 android studio 中制作简单的测验应用程序,首先我创建了一个主要测验 Activity 、PagerAdapter 类和六个 fragment 。现在我想将登录 Activity 添加到此页面的开头。当我单击“登录”按钮时,我希望此登录 Activity 重定向到主测验页面。我尝试了下面的代码,但是当我执行代码时,应用程序仍然启动主测验页面。并且我将类名添加到了manifest.xml。我还能做什么?

public class LoginActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    final EditText etName = (EditText)findViewById(R.id.etName);
    final EditText etPassword = (EditText)findViewById(R.id.etPassword);
    Button btnLogin = (Button)findViewById(R.id.btnLogin);
    Button btnRegister = (Button)findViewById(R.id.btnRegister);

    btnLogin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent mainQuizPaqe = new Intent(LoginActivity.this, MainQuizActivity.class);
            startActivity(mainQuizPaqe);


        }
    });

    btnRegister.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent registerScreen = new Intent(LoginActivity.this, Register.class);
            startActivity(registerScreen);

        }
    });
}}

主要测验 Activity

public class MainQuizActivity extends AppCompatActivity {
ViewPager pager;
TabLayout tabLayout;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_quiz);

    pager= (ViewPager) findViewById(R.id.view_pager);
    tabLayout= (TabLayout) findViewById(R.id.tab_layout);

    // Fragment manager to add fragment in viewpager we will pass object of Fragment manager to adpater class.
    FragmentManager manager=getSupportFragmentManager();

    //object of PagerAdapter passing fragment manager object as a parameter of constructor of PagerAdapter class.
    PagerAdapter adapter=new PagerAdapter(manager);

    //set Adapter to view pager
    pager.setAdapter(adapter);

    //set tablayout with viewpager
    tabLayout.setupWithViewPager(pager);

    // adding functionality to tab and viewpager to manage each other when a page is changed or when a tab is selected
    pager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));


}

}

最佳答案

如果没有看到您的 list ,我猜测您没有设置正确的 Intent 过滤器。确保您将 Intent 过滤器设置为具有要启动的登录 Activity 的 LAUNCHER 标志:

<activity
    android:name="LoginActivity"
    android:launchMode="singleTask">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

如果您没有在 list 中的 Activity 上设置 Intent 过滤器,则不会将其设置为第一个 Activity 。

关于java - 如何使用单击按钮从任何 Activity 重定向到下一个 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41388014/

相关文章:

java - 如何访问 sbt 程序集 jar 中的环境变量?

java - 在 JOptionPane 中将文本右对齐

android - 动态创建的 Android TableLayout 中未显示内容

android - 如何使用 New Build System 在项目中添加 AAR 库?

项目依赖中jar的Android "has already been added to output"错误

android - 是否可以在编译期间将资源(例如 R.drawable.ic_launcher)的 ID 设置为特定的 R 值?

java - 在 Java 应用程序中的 SOAPUI 测试中挂起线程

java - 获取 json 对象的 NullPointerException

android - Realm 梯度任务

java - 为什么忽略不相关方法上的 Autowired