2017-01-11 125 views
0

我在我的应用程序中有两项活动 - 第一项和第二项。当然,我的默认是第一。开始时的其他活动

 <activity 
     android:name=".FirstActivity" 
     android:label="randomlabel" 
     > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

现在我想改变默认的活动,所以我改变这样的:

 <activity 
     android:name=".FirstActivity" 
     android:label="randomlabel" 
     > 

     </activity> 
     <activity android:name=".SecondActivity"> 
      <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

和应用程序现在没有工作,什么是坏的吗?

错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{ru.russian.app/ru.russian.app.FirstActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference 

EDIT2: FirstActivity

public class FirstActivity extends AppCompatActivity { 

    Button button10; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_first); 

     button10.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View view) { 
       goToSecond(); 
      } 
     }); 


    } 


    private void goToSecond() { 

     Intent intent = new Intent(this, SecondActivity.class); 

     startActivity(intent); 

    } 

} 
+0

LogCat中的错误消息是什么? –

+0

这应该对你有帮助:http://stackoverflow.com/questions/3631982/change-applications-starting-activity – jshapy8

+0

我编辑过,现在你可以检查错误 – lukash

回答

0

试试这个:

<activity 
     android:name=".FirstActivity" 
     android:label="randomlabel"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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


     </activity> 
     <activity android:name=".SecondActivity"> 
      <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

我认为他有一个不同的错误,因为它不是必须的指定活动的任何意图过滤器以便在它们之间交换。只有将它添加到AndroidManifest应该就足够了。 –

+0

我明白,但因为他没有发布任何错误消息,我尝试以任何可能的方式提供帮助...... –

+0

现在没有错误,但仍然FristActivity是“第一” – lukash

0

它看起来像你想设置的onClick()侦听器在您的活动在没有被正确初始化的视图上。

你需要从膨胀的观点初始化按钮。

添加

button10 = (Button) findViewById(R.id.button10); 
+0

我没有edit2与第一次活动,第二次活动大约2000行,太多放在这里,第二个活动是mapsactivity – lukash

+0

好吧,更新回答 –

+0

哇,谢谢,我在android studio中连续坐了太多时间,这是基础! – lukash

1

它看起来像从你的堆栈跟踪,你忘了将按钮绑定在FirstActivity。你需要通过调用

button10 = (Button) findViewById(R.id.my_button_id); 

与您在您的activity_first布局按钮设置id替换my_button_id绑定它。

+0

哇,谢谢,我在android工作室连续坐了太多时间,这是基础! – lukash