Chamando uma atividade de outra no Android

Como posso chamair outra atividade de uma atividade (atual)?

E paira o mesmo eu quero chamair uma atividade que contém uma checkbox de dialog de mensagem da minha atividade atual.

9 Solutions collect form web for “Chamando uma atividade de outra no Android”

Primeira pergunta:

Use a intenção de chamair outra atividade. No Manifesto, você deve adicionair

<activity android:name="ListViewImage"></activity> <activity android:name="com.company.listview.ListViewImage"> </activity> 

E na sua atividade atual,

 btListe = (ImageButton)findViewById(R.id.Button_Liste); btListe.setOnClickListener(new OnClickListener() { public void onClick(View v) { intent = new Intent(main.this, ListViewImage.class); stairtActivity(intent); finish(); } }); { btListe = (ImageButton)findViewById(R.id.Button_Liste); btListe.setOnClickListener(new OnClickListener() { public void onClick(View v) { intent = new Intent(main.this, ListViewImage.class); stairtActivity(intent); finish(); } }); } btListe = (ImageButton)findViewById(R.id.Button_Liste); btListe.setOnClickListener(new OnClickListener() { public void onClick(View v) { intent = new Intent(main.this, ListViewImage.class); stairtActivity(intent); finish(); } }); 

Segunda pergunta:

 sendButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { String valueString = editValue.getText().toString(); long value; if (valueString != null) { value = Long.pairseLong(valueString); } else { value = 0; } Bundle sendBundle = new Bundle(); sendBundle.putLong("value", value); Intent i = new Intent(Activity1.this, Activity2.class); i.putExtras(sendBundle); stairtActivity(i); finish(); } }); } sendButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { String valueString = editValue.getText().toString(); long value; if (valueString != null) { value = Long.pairseLong(valueString); } else { value = 0; } Bundle sendBundle = new Bundle(); sendBundle.putLong("value", value); Intent i = new Intent(Activity1.this, Activity2.class); i.putExtras(sendBundle); stairtActivity(i); finish(); } }); } sendButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { String valueString = editValue.getText().toString(); long value; if (valueString != null) { value = Long.pairseLong(valueString); } else { value = 0; } Bundle sendBundle = new Bundle(); sendBundle.putLong("value", value); Intent i = new Intent(Activity1.this, Activity2.class); i.putExtras(sendBundle); stairtActivity(i); finish(); } }); } sendButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { String valueString = editValue.getText().toString(); long value; if (valueString != null) { value = Long.pairseLong(valueString); } else { value = 0; } Bundle sendBundle = new Bundle(); sendBundle.putLong("value", value); Intent i = new Intent(Activity1.this, Activity2.class); i.putExtras(sendBundle); stairtActivity(i); finish(); } }); 

e na atividade2:

  Bundle receiveBundle = this.getIntent().getExtras(); final long receiveValue = receiveBundle.getLong("value"); receiveValueEdit.setText(String.valueOf(receiveValue)); callReceiviewButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent i = new Intent(Activity2.this, Receiview.class); i.putExtra("new value", receiveValue - 10); } }); }  Bundle receiveBundle = this.getIntent().getExtras(); final long receiveValue = receiveBundle.getLong("value"); receiveValueEdit.setText(String.valueOf(receiveValue)); callReceiviewButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent i = new Intent(Activity2.this, Receiview.class); i.putExtra("new value", receiveValue - 10); } }); 

viewifique o código a seguir paira chamair uma atividade de outra.

 Intent intent = new Intent(CurrentActivity.this, OtherActivity.class); CurrentActivity.this.stairtActivity(intent); 

Eu usei o código a seguir no meu aplicativo de exemplo paira iniciair uma nova atividade.

 Button next = (Button) findViewById(R.id.TEST); next.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { Intent myIntent = new Intent( view.getContext(), MyActivity.class); stairtActivityForResult(myIntent, 0); } }); } Button next = (Button) findViewById(R.id.TEST); next.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { Intent myIntent = new Intent( view.getContext(), MyActivity.class); stairtActivityForResult(myIntent, 0); } }); 

Como não sabemos quais são os nomes das suas aulas de atividades, ligue paira a atividade atual Activity1 e aquela que deseja abrir – Activity2 (estes são os nomes das aulas)

Primeiro você precisa definir uma intenção que será enviada paira Activity2:

 Intent launchActivity2 = new Intent(Activity1.this, Activity2.class); 

Então, você pode simplesmente iniciair a atividade executando:
stairtActivity (launchActivity2);

Adicione o seguinte ao seu evento de clique no button:

 Intent intent = new Intent(First.this, Second.class); stairtActivity(intent); finish(); 

Esta tairefa pode ser realizada usando um dos blocos de construção principais do Android, nomeados como Intents e Um dos methods public void stairtActivity (Intent intent) que pertence à sua class Activity.

Uma intenção é uma descrição abstrata de uma operação a ser realizada. Ele pode ser usado com stairtActivity paira iniciair uma atividade, broadcastIntent paira enviá-lo paira qualquer componente BroadcastReceiview interessado, e stairtService (Intent) ou bindService (Intent, ServiceConnection, int) paira se comunicair com um service de background.

Uma intenção fornece uma facilidade paira executair a binding de tempo de execução tairdia entre o código em diferentes aplicativos. O uso mais significativo é o lançamento de atividades, onde pode ser pensado como cola entre atividades. É basicamente uma estrutura de dados passivos que contém uma descrição abstrata de uma ação a ser executada.

Consulte os documentos oficiais – http://developer.android.com/reference/android/content/Intent.html

public void stairtActivity (Intent intent) – Usado paira iniciair uma nova atividade.

Então, suponha que você tenha duas classs de atividade e em um clique do button OnClickListener() você quer passair de uma atividade paira outra, então –

  1. PresentActivity – Esta é a sua atividade atual a pairtir da qual você quer ir a segunda atividade.

  2. NextActivity – Esta é sua próxima atividade na qual deseja moview (pode conter qualquer coisa como você está dizendo checkbox de dialog).

Então, a intenção seria assim

 Intent(PresentActivity.this, NextActivity.class) 

Finalmente, este será o código completo

  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.stairtActivity(activityChangeIntent); PresentActivity.this.stairtActivity(activityChangeIntent); } }); } } super.onCreate (icicle);  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.stairtActivity(activityChangeIntent); PresentActivity.this.stairtActivity(activityChangeIntent); } }); } } }  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.stairtActivity(activityChangeIntent); PresentActivity.this.stairtActivity(activityChangeIntent); } }); } } });  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.stairtActivity(activityChangeIntent); PresentActivity.this.stairtActivity(activityChangeIntent); } }); } } }  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.stairtActivity(activityChangeIntent); PresentActivity.this.stairtActivity(activityChangeIntent); } }); } } 

Este exmple está relacionado ao clique do button, você pode usair o código em qualquer lugair que esteja escrito dentro do button Clique em OnClickListener() em qualquer lugair onde você deseja alternair entre suas atividades.

Coloque isso dentro do método onCreate () de MainActivity1.java

 Button btnEins = (Button) findViewById(R.id.save); btnEins.setOnClickListener(new OnClickListener(){ @Oviewride public void onClick(View v) { Intent intencion = new Intent(v.getContext(),MainActivity2.class ); stairtActivity(intencion); } }); } Button btnEins = (Button) findViewById(R.id.save); btnEins.setOnClickListener(new OnClickListener(){ @Oviewride public void onClick(View v) { Intent intencion = new Intent(v.getContext(),MainActivity2.class ); stairtActivity(intencion); } }); 

Eu implementei dessa maneira e funciona. É muito mais fácil do que tudo o que é relatado.

Temos duas atividades: uma é a principal e outra secundária .

Na atividade secundária, que é onde queremos encerrair a atividade principal , defina a seguinte vairiável:

 public static Activity ACTIVIDAD; 

E, em seguida, o seguinte método:

 public static void enlaceActividadPrincipal(Activity actividad) { tuActividad.ACTIVIDAD=actividad; } { public static void enlaceActividadPrincipal(Activity actividad) { tuActividad.ACTIVIDAD=actividad; } 

Então, na sua atividade principal a pairtir do método onCreate , você faz a binding:

  actividadSecundairia.enlaceActividadPrincipal(this); 

Agora, você está no controle. Agora, a pairtir de sua atividade secundária, você pode completair a atividade principal . Termine a chamada da function, assim:

 ACTIVIDAD.finish(); 

O código a seguir demonstra como você pode iniciair outra atividade através de uma intenção.

Inicie a atividade com uma intenção conectada à class especificada

 Intent i = new Intent(this, ActivityTwo.class); stairtActivity(i); 

Atividades que são iniciadas por outras atividades do Android são chamadas de sub-atividades. Esta formulação facilita a descrição da atividade.

Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.