有例外如何解决这个问题

having an exception how to resolve this

我正在开发 android 应用程序。我是 Android 的新手,我正在开发蓝牙应用程序。当我单击按钮时,我的项目出现错误我的应用程序崩溃并出现目录中给出的异常。这是 XML 布局

<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"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/Bluetooth"
        android:id="@+id/btnBluetooth"
        android:onClick="getBluetoothActivity"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

</RelativeLayout>

这是代码。

public void getBluetoothActivity(View view) {
    Intent intent = new Intent(getApplicationContext(), BluetoothActivity.class);
    startActivity(intent); //exception
}

还有日志,

04-15 21:48:24.760 126-332/? I/ActivityManager﹕ Starting activity: Intent { cmp=com.example.app/.BluetoothActivity } from pid 25365 04-15 21:48:24.770 25365-25365/com.example.app E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.IllegalStateException: Could not execute method of the activity at android.view.View.onClick(View.java:2191) at android.view.View.performClick(View.java:2532) at android.view.View$PerformClick.run(View.java:9293) at android.os.Handler.handleCallback(Handler.java:587) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:143) at android.app.ActivityThread.main(ActivityThread.java:4277) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at android.view.View.onClick(View.java:2186) at android.view.View.performClick(View.java:2532) at android.view.View$PerformClick.run(View.java:9293) at android.os.Handler.handleCallback(Handler.java:587) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:143) at android.app.ActivityThread.main(ActivityThread.java:4277) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) at dalvik.system.NativeStart.main(Native Method) Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.app/com.example.app.BluetoothActivity}; have you declared this activity in your AndroidManifest.xml? at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1541) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1515) at android.app.Activity.startActivityForResult(Activity.java:2988) at android.app.Activity.startActivity(Activity.java:3094) at com.example.app.MainActivity.getBluetoothActivity(MainActivity.java:21) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at android.view.View.onClick(View.java:2186) at android.view.View.performClick(View.java:2532) at android.view.View$PerformClick.run(View.java:9293) at android.os.Handler.handleCallback(Handler.java:587) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:143) at android.app.ActivityThread.main(ActivityThread.java:4277) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) at dalvik.system.NativeStart.main(Native Method)

我正在 Android Studio 中开发蓝牙应用程序 当点击按钮出现异常并且应用程序崩溃时。

Unable to find explicit activity class {com.example.app/com.example.app.BluetoothActivity}; have you declared this activity in your AndroidManifest.xml

这意味着 BluetoothActivity 未在您的清单中声明。如果您认为它已经是,请验证您的包名称是否仍然与声明的内容匹配(清单中的 android:namepackage)。

我在您的问题中搜索了词组 "caused by"。这通常是查找抛出异常的位置和原因的最佳方法。

我看到你的问题了。没什么大不了的。

您需要记住,您明确地为 Android 应用程序设计了 XML。

您缺少使按钮具有 onClick 功能的声明。

我已在下方为您修复:


<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"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"
 android:paddingBottom="@dimen/activity_vertical_margin"
 tools:context=".MainActivity">

 <Button
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:text="@string/Bluetooth"
  android:id="@+id/btnBluetooth"
  android:onClick="getBluetoothActivity"
  android:layout_alignParentTop="true"
  android:layout_alignParentLeft="true"
  android:layout_alignParentStart="true" 
                android:onClick="getBluetoothActivity"/>
</RelativeLayout>


同时请确保 BluetoothActivity.class 已在正确的包中创建!

祝你好运,

让我知道结果