按钮未按预期工作

时间:2017-01-04 08:51:36

标签: android button onclicklistener

我的按钮出现问题。单击时,不会显示Toast。我确保id是正确的。

 button = (Button) findViewById(R.id.button1);

 button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getApplication(), "AAA", Toast.LENGTH_SHORT).show();
            }
        });

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">


    <ImageView
        android:src="@drawable/monthly_expenses"
        android:layout_marginTop="50dp"
        android:layout_width="130dp"
        android:layout_height="210dp"
        android:id="@+id/imageView"
        android:gravity="center"
        android:layout_centerHorizontal="true"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="20dp"
        android:text="You haven't added any month yet"
        android:textSize="15dp"
        android:textColor="@color/btn_login"
        android:gravity="center"
        android:id="@+id/NoData"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/imageView"/>

    <Button
        android:layout_width="250dp"
        android:layout_height="60dp"
        android:text="Add Monthly Expenses"
        android:id="@+id/button1"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/NoData"/>



    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:id="@+id/listview"
            android:layout_weight="1" />


    </RelativeLayout>


</RelativeLayout>

我正在把头发拉出来!任何人都知道问题是什么?任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:1)

像这样更新您的布局:

<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" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <ListView
            android:id="@+id/listview"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="1" />
    </RelativeLayout>

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="130dp"
        android:layout_height="210dp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"
        android:gravity="center"
        android:src="@drawable/monthly_expenses" />

    <TextView
        android:id="@+id/NoData"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imageView"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="20dp"
        android:gravity="center"
        android:text="You haven&apos;t added any month yet"
        android:textColor="@color/btn_login"
        android:textSize="15dp" />

    <Button
        android:id="@+id/button1"
        android:layout_width="250dp"
        android:layout_height="60dp"
        android:layout_below="@+id/NoData"
        android:layout_centerHorizontal="true"
        android:text="Add Monthly Expenses" />

</RelativeLayout>

因为你已经使用了相对布局,并且还添加了listview,它填满了你的整个内容,因为下面的视图不可点击。

答案 1 :(得分:0)

清理并重建您的项目。有时这也可能有所帮助。

答案 2 :(得分:0)

更改背景

Toast.makeText(getApplicationContext(), "AAA", Toast.LENGTH_SHORT).show();

答案 3 :(得分:0)

你错过了一点。它应该是getApplicationContext()。我想出了可能对您有帮助的代码:

 button = (Button) findViewById(R.id.button1);

 button.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
        Toast.makeText(getApplicationContext(), "AAA", Toast.LENGTH_SHORT).show();
     }
 });