有一个例外如何解决这个问题

时间:2015-04-15 17:33:22

标签: java android xml exception crash

我正在开发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:开始活动:   来自pid 25365的Intent {cmp = com.example.app / .BluetoothActivity}       04-15 21:48:24.770 25365-25365 / com.example.app E / AndroidRuntime:FATAL EXCEPTION:main       java.lang.IllegalStateException:无法执行活动的方法       在android.view.View $ 1.onClick(View.java:2191)       在android.view.View.performClick(View.java:2532)       在android.view.View $ PerformClick.run(View.java:9293)       在android.os.Handler.handleCallback(Handler.java:587)       在android.os.Handler.dispatchMessage(Handler.java:92)       在android.os.Looper.loop(Looper.java:143)       在android.app.ActivityThread.main(ActivityThread.java:4277)       at java.lang.reflect.Method.invokeNative(Native Method)       在java.lang.reflect.Method.invoke(Method.java:507)       在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)       在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)       at dalvik.system.NativeStart.main(Native Method)       引起:java.lang.reflect.InvocationTargetException       at java.lang.reflect.Method.invokeNative(Native Method)       在java.lang.reflect.Method.invoke(Method.java:507)       在android.view.View $ 1.onClick(View.java:2186)       在android.view.View.performClick(View.java:2532)       在android.view.View $ PerformClick.run(View.java:9293)       在android.os.Handler.handleCallback(Handler.java:587)       在android.os.Handler.dispatchMessage(Handler.java:92)       在android.os.Looper.loop(Looper.java:143)       在android.app.ActivityThread.main(ActivityThread.java:4277)       at java.lang.reflect.Method.invokeNative(Native Method)       在java.lang.reflect.Method.invoke(Method.java:507)       在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)       在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)       at dalvik.system.NativeStart.main(Native Method)       引起:android.content.ActivityNotFoundException:无法找到显式活动类   {com.example.app/com.example.app.BluetoothActivity};你宣布了​​吗?   AndroidManifest.xml中的这个活动?       在android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1541)       在android.app.Instrumentation.execStartActivity(Instrumentation.java:1515)       在android.app.Activity.startActivityForResult(Activity.java:2988)       在android.app.Activity.startActivity(Activity.java:3094)       在com.example.app.MainActivity.getBluetoothActivity(MainActivity.java:21)       at java.lang.reflect.Method.invokeNative(Native Method)       在java.lang.reflect.Method.invoke(Method.java:507)       在android.view.View $ 1.onClick(View.java:2186)       在android.view.View.performClick(View.java:2532)       在android.view.View $ PerformClick.run(View.java:9293)       在android.os.Handler.handleCallback(Handler.java:587)       在android.os.Handler.dispatchMessage(Handler.java:92)       在android.os.Looper.loop(Looper.java:143)       在android.app.ActivityThread.main(ActivityThread.java:4277)       at java.lang.reflect.Method.invokeNative(Native Method)       在java.lang.reflect.Method.invoke(Method.java:507)       在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)       在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)       在dalvik.system.NativeStart.main(本地方法)

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

2 个答案:

答案 0 :(得分:0)

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相匹配)。

我搜索了由&#34;引起的短语&#34;在你的问题。这通常是找到抛出异常的地点和原因的最佳方式。

答案 1 :(得分:0)

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

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

您缺少按钮的声明,以便具有onClick功能。

我已在下面修复了它:


&#13;
&#13;
<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>
&#13;
&#13;
&#13;


另外请确保已在正确的包中创建BluetoothActivity.class!

祝你好运,

让我知道结果