【问题标题】:How to redirect from any activity to next one using click button?如何使用单击按钮从任何活动重定向到下一个活动?
【发布时间】:2016-12-29 22:23:17
【问题描述】:

我正在 android studio 中制作简单的测验应用程序,首先我创建了一个主要的测验活动、PagerAdapter 类和六个片段。现在我想在这个页面的开头添加登录活动。当我单击“登录”按钮时,我希望此登录活动重定向到主测验页面。我尝试下面的代码,但是当我执行代码时,应用程序仍然启动主测验页面。我将类名添加到 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);

        }
    });
}}

MainQuizActivity

​​>
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));


}

}

【问题讨论】:

  • 发布您的 MainQuizActivity 代码。可能您正在那里做某事。
  • 您的日志是否产生了一些错误?
  • 它有六个片段首先打开了Question1片段。我尝试重定向到 Question1 类,但仍然无法正常工作。
  • 请更好地解释你想用你的片段做什么。
  • 每个片段都有文本视图、单选按钮、按钮和一个问题的控件,无论其答案是否等于正确答案。

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


【解决方案1】:

没有看到你的清单,我猜你没有设置正确的意图过滤器。确保您将意图过滤器设置为具有 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>

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

【讨论】:

  • 这不会保存他的错误。来自LoginActivity,他想继续MainQuizActivity
  • @FlorescuGeorgeCătălin 我猜 BlackHatSamurai 是对的。 LoginActivity 似乎是正确的,问题可能出在 Manifest 中。
  • 哦,是的。我仍然记得第一个问题。他已经编辑了几次.. 他是对的。我的坏..
  • 感谢您的回答@BlackHatSamurai。
猜你喜欢
  • 1970-01-01
  • 2013-06-08
  • 1970-01-01
  • 1970-01-01
  • 2017-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多