Java Android:startActivity()适用于一种活动,但不适用于另一种活动
我正在使用的应用程序的一部分有两个按钮,我的问题是,当我调用startActivity()时,它将按预期在一个活动中工作,而不是在另一个活动中 所以这是可行的:Java Android:startActivity()适用于一种活动,但不适用于另一种活动,java,android,Java,Android,我正在使用的应用程序的一部分有两个按钮,我的问题是,当我调用startActivity()时,它将按预期在一个活动中工作,而不是在另一个活动中 所以这是可行的: startActivity(new Intent(StartScreenActivity.this, FiltersActivity.class)); 但这并不是: startActivity(new Intent(StartScreenActivity.this, MainActivity.class)); 昨天两者都很好,但自从
startActivity(new Intent(StartScreenActivity.this, FiltersActivity.class));
但这并不是:
startActivity(new Intent(StartScreenActivity.this, MainActivity.class));
昨天两者都很好,但自从今天早上更新Android Studio后,当我尝试启动MainActivity时,什么都没有发生。两者都在我的舱单上:
<activity
android:name=".FiltersActivity"
android:label="@string/title_activity_filters"
android:theme="@style/AppTheme.NoActionBar" >
</activity>
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:theme="@style/AppTheme.NoActionBar" >
</activity>
<?xml version="1.0" encoding="utf-8"?>
尝试以下方法:
按如下方式引用您的按钮:
mButton1 = (Button) findViewById(R.id.button_1);
mButton2 = (Button) findViewById(R.id.button_2);
用onClickListener调用您的按钮
mButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent button1 = new Intent(StartScreenActivity.this, FiltersActivity.class);
startActivity(button1);
}
}
mButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent button2= new Intent(StartScreenActivity.this, MainActivity.class);
startActivity(button);
}
}
如果不工作,发送MainsActivity.class的打印输出并启动ScreenActivity在清单中更改您的
:
<activity
android:name=".FiltersActivity"
android:label="@string/title_activity_filters"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="me.theglassboard.vee.FiltersActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="me.theglassboard.vee.MainActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
发布MainActivity.java和完整清单尝试重新启动手机/模拟器。您的问题解决了吗?不幸的是,当我这样做的时候,我没有改变。为什么你的主要活动会扩展碎片活动??。。。使用AppCompatActivity@KevinDoyleIt扩展FragmentActivity,因为它包含片段,这是Android Studio生成的结构,所以我使用了它。在这里使用AppCompatActivity是否有特殊原因?将其更改为扩展AppCompatActivity也没有解决问题,我很抱歉。谢谢你的帮助!为了包含片段,您可以使用AppCompatActivity,然后在framelayout中使用片段。
mButton1 = (Button) findViewById(R.id.button_1);
mButton2 = (Button) findViewById(R.id.button_2);
mButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent button1 = new Intent(StartScreenActivity.this, FiltersActivity.class);
startActivity(button1);
}
}
mButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent button2= new Intent(StartScreenActivity.this, MainActivity.class);
startActivity(button);
}
}
<activity
android:name=".FiltersActivity"
android:label="@string/title_activity_filters"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="me.theglassboard.vee.FiltersActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="me.theglassboard.vee.MainActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>