2016-04-26 91 views
1

我想創建一個應用程序,我有幾個活動。活動1在主頁面,並有一個按鈕,將打開activity2。活動2有2個按鈕。 1回到act1,另一個開啓活動3.多個按鈕導航頁面(活動)不起作用

活動1正常工作,它打開活動2。活動2中返回到第1個活動的按鈕正常工作,但第二個將我帶到活動3的按鈕不起作用。在所附的代碼的第二OnClickListener用,上面寫着「方法的消息灰色‘OnClickListener’從未使用過。

package com.example.android.buttons; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.Button; 

公共類Main2Activity擴展AppCompatActivity {

private static Button button_sbm; 


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


    } 


    public void OnClickButtonListener() { 

     button_sbm = (Button) findViewById(R.id.button2); 
     button_sbm.setOnClickListener(
       new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         Intent intentMainActivity = new Intent(Main2Activity.this, MainActivity.class); 
         startActivity(intentMainActivity); 
        } 



        public void OnClickButtonListener() { 
         button_sbm = (Button) findViewById(R.id.button3); 
         button_sbm.setOnClickListener(
           new View.OnClickListener() { 
            @Override 
            public void onClick(View v) { 
             Intent intentMain3Activity = new Intent(Main2Activity.this, Main3Activity.class); 
             startActivity(intentMain3Activity); 
            } 
           } 
         ); 

        } 

       } 
     ); 

    } 
} 
+0

嘗試啓動的onCreate一切後,再工作制作方法。 1)您將Activity3單擊偵聽器放入Activity2偵聽器中2)如果您已正確實施它,則不能擁有同名的方法。 –

回答

0

移動你的onClick聽衆喜歡這個

public void OnClickButtonListener() { 
     button_sbm = (Button) findViewById(R.id.button2); 
     button_sbm.setOnClickListener(
       new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         Intent intentMainActivity = new Intent(Main2Activity.this, MainActivity.class); 
         startActivity(intentMainActivity); 
        } 
       } 
     ); 
     button_sbm = (Button) findViewById(R.id.button3); 
     button_sbm.setOnClickListener(
       new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         Intent intentMain3Activity = new Intent(Main2Activity.this, Main3Activity.class); 
         startActivity(intentMain3Activity); 
        } 
       } 
     ); 
    } 
+0

嗨,對不起,有點厚,我不明白你的意思。你的回覆看起來和我原來的代碼一樣! –

+0

啊,你編輯了位置。我不知道你的原信。 –

+0

它不是你已經把第三個活動點擊監聽器發射在第二個後面點擊監聽器 –

0

試試這個 -

package com.example.android.buttons; 

    import android.content.Intent; 
    import android.os.Bundle; 
    import android.support.v7.app.AppCompatActivity; 
    import android.view.View; 
    import android.widget.Button; 

    public class Main2Activity extends AppCompatActivity { 

     private static Button button_sbm1 , button_sbm2; 


     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main2); 
      button_sbm1 = (Button) findViewById(R.id.button2); 
      button_sbm2 = (Button) findViewById(R.id.button3); 

       button_sbm1.setOnClickListener(
       new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         Intent intentMainActivity = new Intent(Main2Activity.this, MainActivity.class); 
         startActivity(intentMainActivity); 
        } 

     }); 


        button_sbm2.setOnClickListener(
           new View.OnClickListener() { 
            @Override 
            public void onClick(View v) { 
             Intent intentMain3Activity = new Intent(Main2Activity.this, Main3Activity.class); 
             startActivity(intentMain3Activity); 
            } 
           } 
         ); 

    } 
0

實現從View.OnClickListener您的活動像

YourActivity extends AppCompatActivity implements View.OnClickListener { 
Button btn1,btn2; 

在onCreate方法

Button btn1=(Button)findViewById(yourbuttonid); 
Button btn2=(Button)findViewById(yoursecondbtn); 
btn1.setOnClickListener(this) 
btn2.setOnClickListener(this) 

關閉onCreateMethod

@override 
public void onClick(View v) { 
switch(v.getId){ 
case R.id.yourfirstButton: 
Intent intentMainActivity = new Intent(Main2Activity.this,  MainActivity.class); 
startActivity(intentMainActivity); 
breal; 
case R.id.secondbutton: 
Intent intentMainActivity = new Intent(Main2Activity.this,  MainActivity.class); 
startActivity(intentMainActivity); 
break; 
} 
相關問題