Android eclipse button Evento OnClick
Tengo 2 archivos: main_activity.xml y home.xml. Hice un botón en main_activity.xml
Aquí está el fragmento de código:
- Android - Recursos $ NotFoundException
- Cambiar el radio de la esquina de programación programable
- ¿Cómo obligo a eclipse a mostrar diseños y estilos xml como texto?
- Cómo agregar efecto de sombra en drawable en android
- Org.w3c.dom.Node.insertBefore: NullPointerException, Bug?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:background="@drawable/splash_background" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Button android:id="@+id/Home" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginRight="43dp" android:onClick="home" android:text="Home" /> </RelativeLayout>
Y luego, tengo mi home.xml. Quiero que el botón abra home.xml. ¿Cómo puedo hacer esto? No conozco ningún java y soy nuevo al desarrollo de androide.
Aquí está mi home.xml a continuación:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:background="@drawable/app_bg" android:layout_height="match_parent" android:orientation="vertical" > </LinearLayout>
Y debajo está mi AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.idozer" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="false" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.idozer.SplashActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.idozer.MainActivity" android:label="@string/app_name" > </activity> </application> </manifest>
Y eso es todo lo que tengo. Por favor, si responde, dígame dónde agregar el código, como el directorio o entre fragmentos de código.
- Android usando recursos de matriz xml
- El desplazamiento de texto no funciona
- Animación de diseños utilizando el atributo "animateLayoutChanges" en XML
- Cómo especificar el atributo fromXType en el archivo anim xml
- ¿Cómo puedo dar cuatro clics de botón a la vista de la imagen?
- ¿Cuál es el punto de `Content_main.xml`?
- El botón recortado no recibe la entrada táctil
- Declaración de atributos elegibles en Android
Para administrar la actividad de clics en android, puede hacer lo siguiente
-
Implementar
OnClickListener
en la clase YourActivity.java comopublic class MainActivity extends Activity implements OnClickListener
-
Luego, declare su botón en la clase .java como
Button btn = (Button) findViewById(R.id.btnPlay);
-
A continuación, utilice la variable
btn
botón como se muestra a continuaciónbtn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { myClick(v); /* my method to call new intent or activity */ } });
-
Maneje el evento de clic:
public void myClick(View v) { Intent intent = new Intent(**this, Swipe.class**); startActivity(intent);// for calling the activity }
También necesita registrar su actividad (.java) en android manifest
como a continuación
<activity android:name=".Swipe" android:screenOrientation="landscape" > </activity>
Puede utilizar este código.
Android: OnClickListener
En nuestra clase de actividad agregamos el método onclick.
En nuestra clase de actividad agregamos el método onclick.
//On click event for button1 public void button1OnClick(View v) { //Inform the user the button has been clicked Toast.makeText(this, "Button1 clicked.", Toast.LENGTH_SHORT).show(); }
En el archivo de diseño agregamos una referencia al controlador onclick en la actividad. La aplicación vinculará automáticamente el método onclick a la vista (en este caso button1)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button1" android:onClick="button1OnClick"/> </LinearLayout>
Crear otra clase goto su proyecto haga clic derecho y haga clic en clase y crear Inicio. En ese archivo de clase Home extiende la actividad y agrega código como este
public class Home extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.home); } }
In splash activity class Añade esta línea
Intent intent = new Intent(SplashActivity.this,Home.class); startActivity(intent);
Agrega la clase de actividad Home en tu archivo de manifiesto de android
<activity android:name="com.example.idozer.Home" android:label="@string/app_name" > </activity>
Te daré un poco para que empieces ya que esta respuesta puede ayudar a otros que tienen problemas con el uso de onClick()
esta manera, pero realmente necesitas aprender Java y pasar por los documentos de Android para que puedas hacer mejores preguntas
Usted necesita leer aquí acerca de Actviities
y cómo crearlos. Entonces en tu código tendrás una función
public void home(View v) //the name of this function comes from where you declared in your manifest `android:onClick="home" { Intent intent (MainActivity.this, HomeActivity.class); //MainActivity is the name of current activity and HomeActivity is the name of the activity you want to start can add intent extras/flags/categories here startActivity(intent); }
También debe agregar la HomeActivity
en su manifest
como lo hace para las otras Activities
.
Pero usted realmente necesita ir a través de los documentos y hacer algunos tutoriales para tener una idea de cómo funciona el marco de Android y usted necesita aprender Java para hacer su vida mucho más fácil. Además de los dos enlaces anteriores que he dado, también vea este post acerca de los eventos de clic, ya que hay diferentes maneras de usar onClick()
Espero que esto sea suficiente para que empiece y realmente espero que vaya a través de los documentos para obtener una mejor comprensión de lo que está haciendo. ¡Buena suerte para ti!
Otro enlace importante para empezar
Intentos
android:onClick
se agregó en el nivel 4 de la API para que sea más fácil, más Javascript-web-like, y manejar todo desde el XML. Lo que hace internamente es añadir un OnClickListener
en el Button
, que llama a su método de inicio.
<Button android:id="@+id/Home" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginRight="43dp" android:onClick="home" android:text="Home" />
.
public void home(View view){ Intent intent=new Intent (view.getContext(),Luton.class); this.startActivity(intent); }
En tu clase de actividad
Usando código java, puede hacer clic en el botón por obtener el id del botón de xml.
<Button android:id="@+id/myHomeButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginRight="43dp" android:text="Home" />
.
Button button= (Button) findViewById(R.id.myHomeButton); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //do whatever you want on button click } });
Ambos son exactamente iguales
- Transmisión de una matriz JSON entre actividades por intención
- Deshacerse de la sombra de ActionBar sobre SlidingTabLayout