android - 当我对按钮使用选择器时,android崩溃

标签 android button onclick crash selector

问题解决了!
在我的relativelayout标签中,我定义了android:onClick ...
我删除了它,它的工作原理,谢谢您的帮助!

当我使用选择器作为按钮时,我的应用程序崩溃了...
我会疯的..我在互联网上进行了研究,但没有找到真正的解决方案

我的按钮代码:

    <Button
    android:id="@+id/ib_login"
    android:layout_width="300dp"
    android:layout_height="40dp"
    android:layout_alignLeft="@+id/et_password"
    android:layout_below="@+id/et_password"
    android:layout_marginTop="20dp"
    android:background="@drawable/login_selector" />

我的选择器代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
        android:state_pressed="true"
        android:drawable="@drawable/button_onclick"
        />
<item   android:drawable="@drawable/button"/>

</selector>

而我的logcat:
04-18 06:52:37.084: E/AndroidRuntime(608): FATAL EXCEPTION: main
04-18 06:52:37.084: E/AndroidRuntime(608): java.lang.IllegalStateException: Could not find a method res/drawable-hdpi/button_onclick.png(View) in the activity class com.kisirdongu.denemeapp.MainActivity for onClick handler on view class android.widget.RelativeLayout with id 'container'
04-18 06:52:37.084: E/AndroidRuntime(608):  at android.view.View$1.onClick(View.java:3031)
04-18 06:52:37.084: E/AndroidRuntime(608):  at android.view.View.performClick(View.java:3511)
04-18 06:52:37.084: E/AndroidRuntime(608):  at android.view.View$PerformClick.run(View.java:14105)
04-18 06:52:37.084: E/AndroidRuntime(608):  at android.os.Handler.handleCallback(Handler.java:605)
04-18 06:52:37.084: E/AndroidRuntime(608):  at android.os.Handler.dispatchMessage(Handler.java:92)
04-18 06:52:37.084: E/AndroidRuntime(608):  at android.os.Looper.loop(Looper.java:137)
04-18 06:52:37.084: E/AndroidRuntime(608):  at android.app.ActivityThread.main(ActivityThread.java:4424)
04-18 06:52:37.084: E/AndroidRuntime(608):  at java.lang.reflect.Method.invokeNative(Native Method)
04-18 06:52:37.084: E/AndroidRuntime(608):  at java.lang.reflect.Method.invoke(Method.java:511)
04-18 06:52:37.084: E/AndroidRuntime(608):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
04-18 06:52:37.084: E/AndroidRuntime(608):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
04-18 06:52:37.084: E/AndroidRuntime(608):  at dalvik.system.NativeStart.main(Native Method)
04-18 06:52:37.084: E/AndroidRuntime(608): Caused by: java.lang.NoSuchMethodException: res/drawable-hdpi/button_onclick.png [class android.view.View]
04-18 06:52:37.084: E/AndroidRuntime(608):  at java.lang.Class.getConstructorOrMethod(Class.java:460)
04-18 06:52:37.084: E/AndroidRuntime(608):  at java.lang.Class.getMethod(Class.java:915)
04-18 06:52:37.084: E/AndroidRuntime(608):  at android.view.View$1.onClick(View.java:3024)
04-18 06:52:37.084: E/AndroidRuntime(608):  ... 11 more

*整体布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#C7C7C7"
android:onClick="@drawable/button_onclick"
android:orientation="vertical"
tools:context="com.kisirdongu.denemeapp.MainActivity"
tools:ignore="MergeRootFrame" >

<EditText
    android:id="@+id/et_password"
    android:layout_width="300dp"
    android:layout_height="40dp"
    android:layout_below="@+id/et_username"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="20dp"
    android:background="@drawable/edittext"
    android:drawablePadding="10dp"
    android:ems="10"
    android:hint="*****"
    android:paddingLeft="8dp"
    android:paddingRight="8dp"
    android:password="true"
    android:singleLine="true" />

<Button
    android:id="@+id/ib_login"
    android:layout_width="300dp"
    android:layout_height="40dp"
    android:layout_alignLeft="@+id/et_password"
    android:layout_below="@+id/et_password"
    android:layout_marginTop="20dp"
    android:background="@drawable/login_selector" />

<ProgressBar
    android:id="@+id/pb_login"
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/ib_login"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="17dp" 
    android:visibility="invisible" />

<TextView
    android:id="@+id/tv_login"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/pb_login"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="11dp"
    android:text="Logging in..." 
    android:visibility="invisible" />

<EditText
    android:id="@+id/et_username"
    android:layout_width="300dp"
    android:layout_height="40dp"
    android:layout_alignLeft="@+id/et_password"
    android:layout_alignParentTop="true"
    android:layout_marginTop="52dp"
    android:background="@drawable/edittext"
    android:drawablePadding="10dp"
    android:ems="10"
    android:hint="username"
    android:paddingLeft="8dp"
    android:paddingRight="8dp"
    android:singleLine="true" >

    <requestFocus />
</EditText>

<TextView
    android:id="@+id/tv_user"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="14dp"
    android:text="User Login"
    android:textColor="#333"
    android:textSize="20sp" />

</RelativeLayout>

*我的可绘制Fordder:

http://puu.sh/8dlOx.png

感谢您的帮助!

最佳答案

android:onClick="@drawable/button_onclick"中的RelativeLayout行会导致此问题。它需要一个方法的名称,但是您正在传递一个drawable。

关于android - 当我对按钮使用选择器时,android崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23149233/

相关文章:

android - android (android.R.drawable.{checkbox}) 中 Material Design 复选框的名称是什么?

android - 避免 Android SharedPreferences 中的默认值

android - 无法在代码中使用 Textviews 和按钮

image - Powershell 按钮图像

javascript - 选择表格行时使用 TR 数据键和 TD 单元格值设置输入的 OnClick 属性

jquery - 使用 jQuery 修改超链接的 onclick URL 参数

javascript - 单击服务器上的按钮

java - OkHttp3 从不在慢速互联网上超时

android - 如何获取日期格式的日期选择器值?

点击 UIButton 时手指的 iOS x 坐标