2009-07-09 13 views
27

Jak nawigować z jednego ekranu aktywności na inny ekran aktywności? Na pierwszym ekranie mam jeden przycisk, jeśli kliknę przycisk, który ma przejść do innego ekranu aktywności.Jak poruszać się między ekranami?

Odpowiedz

11
OnClickListener onClickListener = new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     startActivity(new Intent(action)); 
    } 
}; 

Button button = (Button) findViewById(id); 
button.setOnClickListener(onClickListener); 
+4

O Boże ... formatowanie kodu! –

+0

co to jest "identyfikator"? – Michel

+0

To jest identyfikator komponentu. –

16
Button x.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) 
       { 
        Intent i = new Intent(y.this, Activity.class); 
        startActivity(i);     
       } 
     }); 

Tutaj mamy zdefiniowane słuchacza na przycisk X. System operacyjny wywoła tę metodę i uruchomi działanie opisane w intencji i.

Oto oficjalny poradnik przykład: http://developer.android.com/guide/tutorials/notepad/notepad-ex2.html

+0

dzięki przyjacielu to naprawdę mi pomaga .. – Kumar

+2

czekaj, czy to się kompiluje? – vidstige

4
final Context cont = this; 
Button btnClickABC =(Button)findViewById(R.id.btnClickABC); 
btnClickABC.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) {     
       startActivity(new Intent(cont, NextActivity.class)); 

      } 
     }); 
1
startActivity(new Intent(this,newActivity.class)); 
5
public void onClick(View v) 
{ 
    Intent myintent = new Intent(currentclass.this, nextactivity.class); 
    startActivity(myintent);        
} 
3

Użyj następujących code..I nadzieję, że to pomoże.

Button button = (Button)findViewById(R.id.xxx); 
    button .setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
     Intent intent=new Intent(CurrentActivity.this,NextActivity.class); 
     startActivity(intent); 
     } 
    }); 

xxx jest id z xml swojej Buttona.

8
Button btn = (Button)findViewById(R.id.button1); 

btn.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) {  

     startActivity(new Intent(TestActivity.this,second.class)); 

    } 
}); 
3

To zadanie można wykonać przy użyciu jednego z bloku głównego budynku androida o imieniu jak i zamiarów Jedną z metod public void startActivity (Intent intent) który należy do klasy aktywności.

Intencja to abstrakcyjny opis operacji, która ma zostać wykonana. Można go użyć z startActivity w celu uruchomienia działania, broadcastIntent, aby wysłać go do dowolnego zainteresowanego komponentu BroadcastReceiver, i startService (Intent) lub bindService (Intent, ServiceConnection, int) w celu komunikacji z usługą w tle.

Użycie funkcji umożliwia wykonanie późnego wiązania w czasie pomiędzy kodem w różnych aplikacjach. Jego najbardziej znaczącym zastosowaniem jest uruchamianie działań, w których można je traktować jako klej między działaniami. Jest to w zasadzie bierna struktura danych zawierająca abstrakcyjny opis czynności do wykonania.

skierować oficjalne dokumenty - http://developer.android.com/reference/android/content/Intent.html

public void startActivity (Intent intent) - służy do uruchomienia nowej działalności.

Więc załóżmy, że masz dwie klasy Activity i na jedno kliknięcie za OnClickListener() chcesz przenieść się z jednej czynności na drugą następnie -

  1. PresentActivity - To jest aktualna działalność, z której chcesz przejdź do drugiej czynności.

  2. NextActivity - To jest następna aktywność, na którą chcesz się przenieść.

Więc Intent byłoby jak to

Intent(PresentActivity.this, NextActivity.class) 

Wreszcie będzie to kompletny kod

public class PresentActivity extends Activity { 
     protected void onCreate(Bundle icicle) { 
      super.onCreate(icicle); 

      setContentView(R.layout.content_layout_id); 

      final Button button = (Button) findViewById(R.id.button_id); 
      button.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
        // Perform action on click 

        Intent activityChangeIntent = new Intent(PresentActivity.this, NextActivity.class); 

        // currentContext.startActivity(activityChangeIntent); 

        PresentActivity.this.startActivity(activityChangeIntent); 
       } 
      }); 
     } 
    } 

Ten exmple związane jest przycisk do kliknięcia można użyć kodu w dowolnym miejscu, które jest napisany wewnątrz przycisku kliknij OnClickListener() w dowolnym miejscu, w którym chcesz przełączać się między swoimi zajęciami.

0

Przełączanie z jednej czynności na drugą jest bardzo proste, ale trudne do nowego. Twoja następna klasa musi być zdefiniowana w AndroidManifest.xml. To jest tester klasy:

<activity 
    android:name=".Tester" 
    android:label="@string/title_activity_tester" >`enter code here` 
</activity> 


final Button button = (Button) findViewById(R.id.btnGo);// btnGo is id 
button.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     Intent i = new Intent(CurrentClass.this, Tester.class); 
     startActivity(i); 
    } 
Powiązane problemy