2017-01-11 69 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