2013-05-19 16 views
12

ich Android-Entwicklung neu bin. Ich versuche, neue Activity in meiner OnClickListener Methode zu öffnen. Was soll ich schreiben und wie funktioniert die Methode OnClickListener?Android Taste OnClickListener

+0

Absicht intent = neue Absicht (this, NewActivit.class); Startaktivität (Absicht); –

+0

Machen Sie eine Recherche, bevor Sie Ihre Frage hier stellen –

Antwort

31

Diese Aufgabe kann einer der Haupt-Baustein als Intents und Eine der Methoden public void startActivity (Intent intent) namens Android verwendet werden erreicht, die zu Ihrer Aktivitätsklasse gehört.

eine Absicht ist eine abstrakte Beschreibung einer Operation durchgeführt werden. Es kann mit startActivity verwendet werden, um eine Aktivität zu starten, broadcastIntent es alle interessierten BroadcastReceiver Komponenten zu senden, und den Start (Intent) oder bindService (Intent, ServiceConnection, int) mit einem Hintergrunddienst zu kommunizieren.

eine Absicht bietet eine Möglichkeit zum späten Laufzeit durchführt zwischen dem Code in verschiedenen Anwendungen zu binden. Seine wichtigste Verwendung ist die Einführung von Aktivitäten, bei denen es sich als Bindeglied zwischen Aktivitäten vorstellen kann. Es ist im Grunde eine passive Datenstruktur, die eine abstrakte Beschreibung einer auszuführenden Aktion enthält.

Siehe die offiziellen Dokumente - http://developer.android.com/reference/android/content/Intent.html

public void startActivity (Intent intent) - verwendet, um eine neue Aktivität zu starten.

So nehme an, Sie zwei Aktivitätsklasse haben -

  1. PresentActivity - Dies ist Ihre aktuelle Tätigkeit, von dem Sie die zweite Aktivität hinwollen.

  2. NextActivity - Das ist Ihre nächste Aktivität auf dem Sie verschieben möchten.

So die Absicht wie diese schließlich

Intent(PresentActivity.this, NextActivity.class) 

wäre dies der vollständige Code hoffen, wird

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); 
      } 
      }); 
    } 
} 

ich Sie jetzt verstehen können und wenn Sie irgendein Problem konfrontiert sind zurück zu mir nur hier. Immer glücklich zu helfen.

1

einfach:

Start-Aktivität (Onclick-Handler)

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class); 
myIntent.putExtra("key", value); //Optional parameters 
CurrentActivity.this.startActivity(myIntent); 

auf der neuen Aktivität:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
Intent intent = getIntent(); 
String value = intent.getStringExtra("key"); //if it's a string you stored. 

und fügen Sie Ihre neue Tätigkeit in der AndroidManifest.xml:

<activity android:label="@string/app_name" android:name="NextActivity"/> 
10
//create a variable that contain your button 
Button button = (Button) findViewById(R.id.button); 

    button.setOnClickListener(new OnClickListener(){ 
     @Override 
     //On click function 
     public void onClick(View view) { 
      //Create the intent to start another activity 
      Intent intent = new Intent(view.getContext(), AnotherActivity.class); 
      startActivity(intent); 
     } 
    }); 
3

Verwenden Sie OnCliflistener oder Sie können android: onClick = "myMethod" in Ihrem XML-Code verwenden, aus dem Sie ein neues Layout öffnen. Wenn diese Schaltfläche angeklickt wird, wird Ihre myMethod Funktion automatisch aufgerufen. Ihre myMethod-Funktion in der Klasse sieht so aus.

public void myMethod(View v) { 
Intent intent=new Intent(context,SecondActivty.class); 
startActivity(intent); 
} 

Und in dieser SecondActivity.class neues Layout in Contentview setzen.

Verwandte Themen