Error al utilizar el método findViewById
Estoy tratando de utilizar el método findViewById()
para asignar una acción a un botón que he creado, sin embargo, me está dando el error:
findViewById(int)
en android.support.v7.app.AppCompatActivity
no se puede aplicar a (android.widget.Button)
- Android Studio Gradle no es un proyecto de construcción
- Android Studio no puede enlazar con local 8602 para depurador
- No hay cambios para implementar android studio 2.1
- ¿Puedo usar Widgets de la biblioteca de soporte de Android L Preview en la versión actual de Android?
- ¿Tiene Android Studio una herramienta de análisis de memoria como MAT en Eclipse?
en las líneas:
buttonStudentAccess = (Button) findViewById(buttonStudentAccess); buttonGuestAccess = (Button) findViewById(buttonGuestAccess);
Mi código es el siguiente:
import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; public class UserTypeSelection extends AppCompatActivity implements View.OnClickListener{ private Button buttonStudentAccess; private Button buttonGuestAccess; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_user_type_selection); buttonStudentAccess = (Button) findViewById(buttonStudentAccess); buttonGuestAccess = (Button) findViewById(buttonGuestAccess); buttonStudentAccess.setOnClickListener(this); buttonGuestAccess.setOnClickListener(this); } @Override public void onClick(View view) { if (view == buttonStudentAccess) { } if (view == buttonGuestAccess) { //startActivity(new Intent(this, MainActivity.class)); } }
El archivo xml correspondiente contiene los botones
<Button android:text="Guest" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/buttonStudentAccess" android:layout_alignLeft="@+id/buttonStudentAccess" android:layout_alignStart="@+id/buttonStudentAccess" android:layout_marginTop="30dp" android:id="@+id/buttonGuestAccess" android:layout_alignRight="@+id/buttonStudentAccess" android:layout_alignEnd="@+id/buttonStudentAccess" /> <Button android:text="Student" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:id="@+id/buttonStudentAccess" android:layout_below="@+id/textView2" android:layout_centerHorizontal="true" />
Utilicé la misma sintaxis para crear y asignar acciones a los botones en mi inicio de sesión y clases de registro y no creó este error. Cualquier ayuda se agradece, gracias
- Ver información del método en Android Studio
- Cómo cambiar el tamaño del emulador AVD en Android Studio?
- Los botones de hardware no se pueden hacer clic en el emulador de Android
- Reiniciar ADB desde Android Studio
- Gradle build falló en Android Studio versiones nuevas y viejas en OSX
- Android Studio 0.5.0 reconstrucción no funciona con Proguard
- Error de ADB y Genymotion: "servidor de adb está desactualizado. Matar ... no puede enlazar 'tcp: 5037' servidor ADB no ACK "
- Error de EGL al intentar ejecutar mapsActivity en el emulador de Android
Debe especificar dónde va a obtener el ID "buttonStudentAccess" de. así que aquí es cómo se puede encontrar la vista:
buttonStudentAccess = (Button) findViewById(R.id.buttonStudentAccess);
Para especificar que el botón o cualquier otra vista se encuentra en el paquete de "recursos" se refiere a él como R
y .id
especifica que desea agarrar la vista con su id.
buttonStudentAccess = (Button) findViewById(R.id.buttonStudentAccess); buttonGuestAccess = (Button) findViewById(R.id.buttonGuestAccess);
- Mover la vista Galería a la siguiente imagen en un golpe en Android?
- Fotos de la portada del álbum Fetch Facebook – Android