[英]App crashing after using intent to open a new activity after login
登录后,我一直试图让我的应用重定向到新活动,但几乎所有尝试都无济于事。 我还在论坛上检查了所有相关答案,但似乎无济于事。 任何帮助将不胜感激。
登录活动代码:
@Override
public void onSuccess(@NonNull final Credentials credentials) {
Intent i = new Intent(MainActivity.this, testactivity.class);
startActivity(i);
表现:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.auth0.samples">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="@string/auth0_domain"
android:pathPrefix="/android/com.auth0.samples/callback"
android:scheme="demo" />
</intent-filter>
</activity>
<activity android:name="materialtabs.activity.SimpleTabsActivity" />
<activity android:name=".testactivity"></activity>
</application>
</manifest>
Test.java:
package com.auth0.samples;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import com.auth0.samples.fragments.OneFragment;
import com.auth0.samples.fragments.ThreeFragment;
import com.auth0.samples.fragments.TwoFragment;
import java.util.ArrayList;
import java.util.List;
public class test extends AppCompatActivity {
private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_simple_tabs);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
viewPager = (ViewPager) findViewById(R.id.viewpager);
setupViewPager(viewPager);
tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new OneFragment(), "Notices");
adapter.addFragment(new TwoFragment(), "Timetable");
adapter.addFragment(new ThreeFragment(), "Homework");
viewPager.setAdapter(adapter);
}
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
}
在进一步排除故障后,我注意到该应用程序将重定向到空白活动,因此在test.java中必须正在调用某种使事情弄乱的东西。
欢迎使用,首先要注意以下几点:发布错误日志和更多相关代码。 在此示例中,在什么上下文下调用了onSuccess(...)。
现在回答您的问题,我认为它失败了,因为您的意图代码在onSuccess调用中。 您是否尝试过通过将startActivity移到onSuccess之外来进行调试? 让我们尝试最简单的测试,只需将意图代码移至MainActivity的onCreate即可。 这样可以使您的主要活动立即变为测试活动。 如果您的应用程序不执行此操作,则表明testactivity.java文件中有问题。 如果确实如此,则意味着您的onsuccess()存在问题。
通过执行上述简单的调试,您可以轻松隔离实际问题,从而解决问题。 以较小的增量步骤开始调试! 另外,如果您还没有的话,请参阅此处,以获取有关使用意图开始活动的更多详细信息。
编辑:谢谢,我看到了新代码,所以您的测试类称为test.java而不是testactivity.java? 然后,按照您的意图,目标应该是test.class。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.