我正在 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/