点击按钮后Android studio应用程序崩溃
当我按下编辑按钮时,程序崩溃并停止工作。 我需要帮助这是为了一份大学的工作,我不知道哪里出了问题 **错误是:**点击按钮后Android studio应用程序崩溃,android,android-studio,android-layout,android-fragments,android-button,Android,Android Studio,Android Layout,Android Fragments,Android Button,当我按下编辑按钮时,程序崩溃并停止工作。 我需要帮助这是为了一份大学的工作,我不知道哪里出了问题 **错误是:** E/AndroidRuntime: FATAL EXCEPTION: main Process: pjurado.com.a05reciclerviewobjeto, PID: 14577 java.lang.IllegalStateException: Could not execute method for android:onClick at
E/AndroidRuntime: FATAL EXCEPTION: main
Process: pjurado.com.a05reciclerviewobjeto, PID: 14577
java.lang.IllegalStateException: Could not execute method for android:onClick
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:414)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:409)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {pjurado.com.a05reciclerviewobjeto/pjurado.com.a05reciclerviewobjeto.AdapterDirectorio}; have you declared this activity in your AndroidManifest.xml?
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1932)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1615)
at android.app.Activity.startActivityForResult(Activity.java:4472)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:676)
at android.app.Activity.startActivityForResult(Activity.java:4430)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:663)
at android.app.Activity.startActivity(Activity.java:4791)
at android.app.Activity.startActivity(Activity.java:4759)
at pjurado.com.a05reciclerviewobjeto.Editar.onClick(Editar.java:24)
Android_manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="pjurado.com.a05reciclerviewobjeto">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Editar" />
</application>
</manifest>
Editar.java
package pjurado.com.a05reciclerviewobjeto;
import android.content.Intent;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.util.Log;
import android.view.View;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
public class Editar extends AppCompatActivity {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.modificacion);
}
public void onClick(View v){
Intent intent = new Intent(Editar.this, AdapterDirectorio.class);
startActivity(intent);
}
}
```
```
mainActivity.java
package pjurado.com.a05reciclerviewobjeto;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.content.Intent;
import android.media.Image;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import java.util.ArrayList;
import static androidx.core.content.ContextCompat.startActivity;
public class MainActivity extends AppCompatActivity {
private ArrayList<Contacto> directorio = new ArrayList<>();
private RecyclerView myRecyclerView;
private AdapterDirectorio myAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
creaDatos();
myRecyclerView = findViewById(R.id.recyclerView);
myRecyclerView.setHasFixedSize(true);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
myRecyclerView.setLayoutManager(layoutManager);
myAdapter = new AdapterDirectorio(directorio);
myRecyclerView.setAdapter(myAdapter);
}
private void creaDatos(){
directorio.add(new Contacto("Pedro Jurado", "987123456", "pjurado@gmail.com", R.drawable.foto));
directorio.add(new Contacto("Pepe Pérez", "987121256", "ppe@gmail.com", R.drawable.foto));
directorio.add(new Contacto("Antonio Gómex", "934643456", "aoox@gmail.com", R.drawable.foto));
directorio.add(new Contacto("Antonio Gómex", "934643456", "aoox@gmail.com", R.drawable.foto));
directorio.add(new Contacto("Antonio Gómex", "934643456", "aoox@gmail.com", R.drawable.foto));
directorio.add(new Contacto("Antonio Gómex", "934643456", "aoox@gmail.com", R.drawable.foto));
directorio.add(new Contacto("Antonio Gómex", "934643456", "aoox@gmail.com", R.drawable.foto));
directorio.add(new Contacto("Antonio Gómex", "934643456", "aoox@gmail.com", R.drawable.foto));
directorio.add(new Contacto("Antonio Gómex", "934643456", "aoox@gmail.com", R.drawable.foto));
directorio.add(new Contacto("Antonio Gómex", "934643456", "aoox@gmail.com", R.drawable.foto));
}
}
包pjurado.com.a05reciclerviewobjeto;
导入android.content.Intent;
导入android.os.Bundle;
导入android.os.PersistableBundle;
导入android.util.Log;
导入android.view.view;
导入androidx.annotation.Nullable;
导入androidx.appcompat.app.appcompat活动;
公共类Editar扩展了appcompative活动{
@凌驾
创建时的公共void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.Modification);
}
公共void onClick(视图v){
Intent Intent=新Intent(Editar.this、AdapterDirectorio.class);
星触觉(意向);
}
}
```
```
mainActivity.java
包装pjurado.com.a05reciclerviewobjeto;
导入androidx.appcompat.app.appcompat活动;
导入androidx.recyclerview.widget.LinearLayoutManager;
导入androidx.recyclerview.widget.recyclerview;
导入android.content.Intent;
导入android.media.Image;
导入android.net.Uri;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.ImageButton;
导入java.util.ArrayList;
导入静态androidx.core.content.ContextCompat.startActivity;
公共类MainActivity扩展了AppCompatActivity{
private ArrayList directorio=new ArrayList();
私人回收视图myRecyclerView;
专用适配器DirectorIO myAdapter;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
creaDatos();
myRecyclerView=findViewById(R.id.recyclerView);
myRecyclerView.setHasFixedSize(true);
LinearLayoutManager layoutManager=新的LinearLayoutManager(此);
myRecyclerView.setLayoutManager(layoutManager);
myAdapter=新的AdapterDirectorio(directorio);
myRecyclerView.setAdapter(myAdapter);
}
私有无效creaDatos(){
添加(新联系人(“Pedro Jurado”,“987123456”pjurado@gmail.com“,R.drawable.foto));
添加(新联系人)(“Pepe Pérez”,“987121256”ppe@gmail.com“,R.drawable.foto));
增加(新合同(“Antonio Gómex”,“934643456”aoox@gmail.com“,R.drawable.foto));
增加(新合同(“Antonio Gómex”,“934643456”aoox@gmail.com“,R.drawable.foto));
增加(新合同(“Antonio Gómex”,“934643456”aoox@gmail.com“,R.drawable.foto));
增加(新合同(“Antonio Gómex”,“934643456”aoox@gmail.com“,R.drawable.foto));
增加(新合同(“Antonio Gómex”,“934643456”aoox@gmail.com“,R.drawable.foto));
增加(新合同(“Antonio Gómex”,“934643456”aoox@gmail.com“,R.drawable.foto));
增加(新合同(“Antonio Gómex”,“934643456”aoox@gmail.com“,R.drawable.foto));
增加(新合同(“Antonio Gómex”,“934643456”aoox@gmail.com“,R.drawable.foto));
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
item_list.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="@dimen/cardview_default_elevation"
android:layout_marginBottom="8dp"
android:padding="10dp"
card_view:cardBackgroundColor="@color/colorPrimary">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/imageView"
android:layout_width="48dp"
android:layout_height="48dp"
tools:srcCompat="@tools:sample/avatars" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/textViewNombre"
android:layout_width="497dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textColor="@android:color/white"
android:textSize="18sp" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textViewTelefono"
android:layout_width="164dp"
android:layout_height="51dp"
android:layout_margin="10dp"
android:layout_marginTop="8dp"
android:textColor="@android:color/white"
card_view:layout_constraintEnd_toStartOf="@+id/imageButton5"
card_view:layout_constraintHorizontal_bias="0.0"
card_view:layout_constraintStart_toStartOf="parent"
card_view:layout_constraintTop_toTopOf="parent" />
<ImageButton
android:id="@+id/imageButton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/boton_redondo"
android:visibility="visible"
card_view:layout_constraintBottom_toBottomOf="parent"
card_view:layout_constraintEnd_toStartOf="@+id/imageButton4"
card_view:layout_constraintTop_toTopOf="parent"
card_view:srcCompat="@android:drawable/ic_menu_call" />
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_marginEnd="8dp"
android:background="@drawable/boton_redondo"
android:contentDescription="TODO"
android:visibility="visible"
card_view:layout_constraintBottom_toBottomOf="parent"
card_view:layout_constraintEnd_toStartOf="@+id/botonEdicion"
card_view:layout_constraintTop_toTopOf="parent"
card_view:srcCompat="@android:drawable/ic_dialog_email" />
<ImageButton
android:id="@+id/botonEdicion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:background="@drawable/boton_redondo"
android:visibility="visible"
card_view:layout_constraintBottom_toBottomOf="parent"
card_view:layout_constraintEnd_toEndOf="parent"
card_view:layout_constraintTop_toTopOf="parent"
card_view:srcCompat="@android:drawable/ic_menu_edit" />
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width="395dp"
android:layout_height="wrap_content"
android:orientation="horizontal">
</LinearLayout>
<TextView
android:id="@+id/textViewEmail"
android:layout_width="494dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textColor="@android:color/white" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
modificacion.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="88dp"
android:ems="10"
android:hint="Nombre y apellidos"
android:inputType="textPersonName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.079"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:ems="10"
android:hint="Email"
android:inputType="textPersonName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.079"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText3" />
<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:ems="10"
android:hint="Telefono"
android:inputType="textPersonName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.079"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText1" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:text="Modificación de datos"
android:textColor="#000000"
android:textSize="25sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.098"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/buttonAceptacion"
android:layout_width="165dp"
android:layout_height="46dp"
android:layout_marginTop="28dp"
android:onClick="onClick"
android:text="Confrimar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText2" />
</androidx.constraintlayout.widget.ConstraintLayout>
boton_redondo.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#ffffff"></solid>
<size android:height="50dp" android:width="50dp"></size>
</shape>
您正在调用意图中的适配器,您应该在其中调用活动。在MainActivity.java中正确设置了适配器。考虑一下你需要为EdjAR.java调用的类,用特定的活动替换AdapterDirectorio.class。
public void onClick(View v){
Intent intent = new Intent(Editar.this, ModificationActivity.class);
startActivity(intent);
}
Intent Intent=新Intent(Editar.this、AdapterDirectorio.class);星触觉(意向);您正在这里调用适配器类,这就是问题所在。要在@ShamirKp comment上展开,您只能使用
startActivity()
启动另一个在Android_清单
中声明的活动,这就是为什么您会看到错误无法找到显式活动类{[…]。AdapterDirectorio};您是否在AndroidManifest.xml中声明了此活动?
。由于清单中只有两个活动:MainActivity
和Editar
,您打算启动哪个活动?
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#ffffff"></solid>
<size android:height="50dp" android:width="50dp"></size>
</shape>
public void onClick(View v){
Intent intent = new Intent(Editar.this, ModificationActivity.class);
startActivity(intent);
}