Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android应用程序问题_Java_Android_Xml_Class_Object - Fatal编程技术网

Java Android应用程序问题

Java Android应用程序问题,java,android,xml,class,object,Java,Android,Xml,Class,Object,我一直在尝试开发一个应用程序。但是,当我声明say class Button的任何对象或任何其他类时,当我运行它时,它会显示“不幸的是,应用程序已停止”。请帮忙 xml文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_pa

我一直在尝试开发一个应用程序。但是,当我声明say class Button的任何对象或任何其他类时,当我运行它时,它会显示“不幸的是,应用程序已停止”。请帮忙

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: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/button3"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/timePicker1"
        android:layout_centerVertical="true"
        android:layout_marginRight="17dp"
        android:text="Set" />

    <AnalogClock
        android:id="@+id/analogClock1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="24dp" />

    <TimePicker
        android:id="@+id/timePicker2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/timePicker1"
        android:layout_below="@+id/analogClock1" />

    <TimePicker
        android:id="@+id/timePicker1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

</RelativeLayout>
}

日志

   02-28 17:06:42.917: E/AndroidRuntime(18977): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.quiet/com.example.quiet.MainActivity}: java.lang.ClassCastException: android.widget.TimePicker cannot be cast to android.widget.Button
02-28 17:06:42.917: E/AndroidRuntime(18977):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at android.app.ActivityThread.access$600(ActivityThread.java:123)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at android.os.Handler.dispatchMessage(Handler.java:99)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at android.os.Looper.loop(Looper.java:137)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at android.app.ActivityThread.main(ActivityThread.java:4424)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at java.lang.reflect.Method.invokeNative(Native Method)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at java.lang.reflect.Method.invoke(Method.java:511)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at dalvik.system.NativeStart.main(Native Method)
02-28 17:06:42.917: E/AndroidRuntime(18977): Caused by: java.lang.ClassCastException: android.widget.TimePicker cannot be cast to android.widget.Button
02-28 17:06:42.917: E/AndroidRuntime(18977):    at com.example.quiet.MainActivity.onCreate(MainActivity.java:22)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at android.app.Activity.performCreate(Activity.java:4470)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
02-28 17:06:42.917: E/AndroidRuntime(18977):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
02-28 17:06:42.917: E/AndroidRuntime(18977):    ... 11 more

我猜这是因为
btn1.setText(小时)

因为hour是int,所以setText将查找具有您传递的ID的资源。尝试向setText传递字符串。

您正在调用
setText(0)
这会导致异常,而不是像
setText(“12:00”)
那样调用

试试看:

btn1.setText("" + hour);

因此,为了解决int-to-string问题,这些行看起来可疑。(免责声明-这可能是也可能不是主要问题)

您正在为布局关系使用“@+id/”术语。删除+符号,这样您就不会试图定义ID。例如:

   android:layout_alignRight="@id/timePicker1"

    ....

   android:layout_alignLeft="@id/timePicker1"
但是,请在声明资源id的小部件上保留资源id的@+id/标记:

<TimePicker
    android:id="@+id/timePicker1"

我们真的需要你的日志猫,但作为对你发布的代码的暗箭伤人,我猜
btn1.setText(hour)
在hour上找到了一个空指针,因为它的值没有定义,或者如果它被定义了,你需要
btn1.setText(String.valueOf(hour))
要将int转换为string,我使用了相同的代码..,它正在工作..,您遇到了什么错误?您是否在清单中声明了您的活动?
android.widget.Button不能转换为android.widget.TimePicker
。MainActivity.java的第22行。所以我相信这不是你实际拥有的错误的完整代码。我已经删除了刚刚留下的btn1声明的所有内容。。。还是不行
   android:layout_alignRight="@id/timePicker1"

    ....

   android:layout_alignLeft="@id/timePicker1"
<TimePicker
    android:id="@+id/timePicker1"