android怎样在多个activity间切换

我可以从MainActivity转到第二个Activity,但从第二个转到第三个时就会闪退。
我觉得是我新创建Activity时在AndroidManifest.xml那里没有改好,因为我每次改那里时都会出现新状况。代码如下:
<?xml version="1.0" encoding="utf-8"?>
package="com.test.blacksaber.test2">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>
    <activity
        android:name=".SecondActivity"
        android:label="Second Activity">
        <intent-filter>
            <action android:name="com.litreily.SecondActivity"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
    <activity
        android:name=".third"
        android:label="third">
        <intent-filter>
            <action android:name="com.litreily.third"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
</application>

然后是SecondActivity.java的代码:
public class SecondActivity extends AppCompatActivity {
private Button loginbutton2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_activity);
loginbutton2=(Button)findViewById(R.id.button2);
loginbutton2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(SecondActivity.this,third.class);
startActivity(intent);
}
});
}
有人帮我看一下吗

除了第一个,其他只要这样就行了:

楼主可以看看这个,http://blog.csdn.net/jason0539/article/details/10049899

    </activity>

代码怎么贴不了了


这样就可以了呀,建activity 没那么复杂

除了主activity需要配置个MAIN的action 没有特殊需要的页面都不用action的

除了主activity 其余的activity的删除掉试试

07-07 11:18:29.534 14965-14965/com.test.blacksaber.test2 I/dalvikvm: Could not find method android.content.res.Resources.getDrawableForDensity, referenced from method android.support.v7.widget.ResourcesWrapper.getDrawableForDensity
07-07 11:18:29.534 14965-14965/com.test.blacksaber.test2 W/dalvikvm: VFY: unable to resolve virtual method 646: Landroid/content/res/Resources;.getDrawableForDensity (IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
07-07 11:19:13.344 14965-14965/com.test.blacksaber.test2 W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41d40c80)
07-07 11:19:16.634 14965-14965/com.test.blacksaber.test2 I/Process: Sending signal. PID: 14965 SIG: 9
这是除了mainactivity外,其他两个activity只留下android:name后的状况

想这个不需要吧



其实你这就是给自己找麻烦,不管是as还是eclipse都可以直接建个新的activity,不用手动注册的,然后就不会出现这种问题了





你这是给intent设置了过滤条件,只有匹配到action为“com.litreily.SecondActivity“”的intent才能开启。
解决方式:
(一)删除过滤条件。
(二)开启activity时,给intent添加action("com.litreily.SecondActivity"),便于匹配

除了MainActivity外,其他的activity不需要过滤器,只要一个activity的标签就行了,把过滤器删掉就行了( )

最简单的就是,配置activity 只配置 name 属性,其他的去掉即可

 <activity name="" />

你该温习下Activity的生命周期了