Estoy aprendiendo a crear aplicaciones para Android y necesito ayuda específica. Parece que no puedo entender qué bits de código de plantilla debo cambiar y qué bits son estáticos.
En la carpeta DISEÑO tengo mi ACTIVITY_MAIN.XML que dice
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/main_buttons_photos" />
</LinearLayout>
A continuación, tengo mi segunda actividad ACTIVITY_SEND_PHOTOS.XML que es
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/hello_world"
tools:context=".SendPhotos" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/title_activity_send_photos"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
Luego tengo mi MainActivity.java (¿es este el .class?) Este lee el paquete com.example.assent.bc;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
/** Called when the user clicks the Send button */
public void sendMessage(View view) {
// Do something in response to button
}
}
y luego mi archivo SendPhotos.java que es;
package com.example.assent.bc;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
public class SendPhotos extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_send_photos);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_send_photos, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
}
Me gustaría que el botón de mi actividad principal se vincule a mi actividad de enviar fotos, simplemente abriendo esa actividad, nada lujoso, sin enviar ningún dato ni nada.
Sé que en algún lugar necesito mi
Intent i = new Intent(FromActivity.this, ToActivity.class);
startActivity(i);
pero no tengo idea de con qué reemplazar ToActivity.class o qué más necesito dónde.
android
android-intent
android-activity
Henry Aspden
fuente
fuente
Respuestas:
Puede pasar a la actividad deseada haciendo clic en el botón. solo agrega esta línea.
android:onClick="sendMessage"
xml:
En su actividad principal simplemente agregue este método:
Y lo más importante: no olvides definir tu actividad en
manifest.xml
fuente
>
la etiqueta de actividadView
,Intent
y los nombres de las actividades están en rojo. ¿Necesito importar algo para View?android:onClick="sendMessage"
Prueba esto
fuente
De Actividad: ¿dónde estás actualmente?
A la actividad: ¿a dónde quieres ir?
Intent i = new Intent( MainActivity.this, SendPhotos.class); startActivity(i);
Ambas actividades deben incluirse en el archivo de manifiesto, de lo contrario, no encontrará el archivo de clase y arrojará Force close.
Edite su Mainactivity.java
ahora Escriba el código para el evento de clic.
Espero que funcione para ti.
fuente
La respuesta para el novato completo de un novato completo:
MainActivity
es el nombre de la primera actividad.MainActivity2
es el nombre de la segunda actividad.button1
es el ID del botón en xml paraMainActivity
Activity.fuente
solo sigue este paso (no estoy escribiendo código solo porque puedes copiar y pegar y no puedes aprender).
En primer lugar, debe declarar un botón que tiene en el diseño
Haga referencia a ese botón encontrando su id (usando findviewById) en oncreate
setlistener para el botón (como setonclick oyente)
manejar por última vez el evento de clic (significa comenzar una nueva actividad usando la intención como ya sabe)
No olvide agregar actividad en el archivo de manifiesto
Por cierto, esto es simple, me gustaría sugerirle que comenzar con tutoriales simples disponibles en la red será mejor para usted.
Mucha suerte para Android
fuente
Reemplace el siguiente código de línea:
Agregue las siguientes líneas en su archivo de manifiesto:
fuente
Reemplace su MainActivity.class con este código
Agregue estos códigos en su antes y
AndroidManifest.xml
después</activity>
</application>
fuente
Esto siempre funciona, cualquiera de los dos debería estar bien:
fuente
agregue el siguiente código al archivo activity_main.xml:
y simplemente agregue el siguiente método al archivo MainActivity.java:
fuente
Si tiene dos botones y tiene la misma llamada de identificación a su botón, haga clic en eventos como este:
Cuando hizo clic
button1
,button2
funcionará y no podrá abrir su segunda actividad.fuente
EN CÓDIGO JAVA
}
fuente
Puede pasar a la actividad deseada haciendo clic en el botón. simplemente agregue
android: onClick = "timerApp" esta línea.
En su actividad principal simplemente agregue este método:
O en el método onCreate () agregue el siguiente código
fuente