Buton Android onClickListener [închis] (Programare, Java, Android, Intenție Android, Onclicklistener)

AndroidFreak a intrebat.
a intrebat.

Încerc să deschid un nou Activity dând clic pe un buton din aplicația mea OnClickListener metoda. Cum se face OnClickListener metoda funcționează și ce ar trebui făcut în ea pentru a începe o nouă Activity?

Comentarii

  • Intent intent= new Intent(this, NewActivit.class); startactivity(intent); –  > Por Sunil Kumar.
  • Vă rugăm să faceți niște cercetări înainte de a vă pune întrebarea aici –  > Por Iftikar Urrhman Khan.
4 răspunsuri
Nikhil Agrawal

Această sarcină poate fi îndeplinită utilizând unul dintre principalele blocuri de construcție ale androidului numit Intents și una dintre metodele public void startActivity (Intent intent) care aparține clasei Activity.

O intenție este o descriere abstractă a unei operații care urmează să fie efectuată. Aceasta poate fi utilizată cu startActivity pentru a lansa o activitate, broadcastIntent pentru a o trimite către orice componentă BroadcastReceiver interesată și startService(Intent) sau bindService(Intent, ServiceConnection, int) pentru a comunica cu un serviciu din fundal.

Un Intent oferă o facilitate pentru realizarea unei legături de execuție târzie între codul din diferite aplicații. Cea mai importantă utilizare a sa este lansarea activităților, unde poate fi considerată ca fiind un liant între activități. Este, în esență, o structură de date pasivă care conține o descriere abstractă a unei acțiuni care urmează să fie efectuată.

Consultați documentația oficială — http://developer.android.com/reference/android/content/Intent.html

public void startActivity (Intent intent) — Utilizat pentru a lansa o nouă activitate.

Să presupunem că aveți două clase de activități —

  1. PresentActivity — Aceasta este activitatea curentă din care doriți să porniți a doua activitate.

  2. NextActivity — Aceasta este următoarea activitate pe care doriți să treceți.

Deci, intenția ar fi următoarea

Intent(PresentActivity.this, NextActivity.class)

În cele din urmă, acesta va fi codul complet

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

Francesco Guardiani
//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);
        }
    });

Rahul

Utilizați OnClicklistener sau puteți utiliza android:onClick="myMethod" în butonul dvs. xml din care veți deschide un nou aspect. Astfel, atunci când se face clic pe acest buton, se va crea myMethod va fi apelată automat. myMethod din clasă arată astfel.

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

Și în această funcție SecondActivity.class setați un nou aspect în contentview.

Comentarii

  • Cum știe java/xml ce metodă din ce clasă este? –  > Por Esther.
  • Fișierul layout va fi mapat în setContentView –  > Por Rahul.
Dory Zidon

ușor:

lansarea activității (handler onclick)

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

pe noua activitate:

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

și adăugați noua activitate în AndroidManifest.xml:

<activity android_label="@string/app_name" android_name="NextActivity"/>