Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:startActivity()适用于一种活动,但不适用于另一种活动_Java_Android - Fatal编程技术网

Java Android:startActivity()适用于一种活动,但不适用于另一种活动

Java Android:startActivity()适用于一种活动,但不适用于另一种活动,java,android,Java,Android,我正在使用的应用程序的一部分有两个按钮,我的问题是,当我调用startActivity()时,它将按预期在一个活动中工作,而不是在另一个活动中 所以这是可行的: startActivity(new Intent(StartScreenActivity.this, FiltersActivity.class)); 但这并不是: startActivity(new Intent(StartScreenActivity.this, MainActivity.class)); 昨天两者都很好,但自从

我正在使用的应用程序的一部分有两个按钮,我的问题是,当我调用startActivity()时,它将按预期在一个活动中工作,而不是在另一个活动中

所以这是可行的:

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>