5

我不知道为什么最后两个按钮不可点击,我多次使用背景(我为它们设置的)并且它适用于其他布局,我确信错误是类似 foucable 或 clickable 但我不'不知道具体在哪里。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF"
    android:fillViewport="true" >

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

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF"
            android:orientation="vertical" >

            <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="20dip"
                android:layout_marginLeft="10dip"
                android:layout_marginRight="10dip"
                android:layout_marginTop="20dip"
                android:layout_weight="1" >

                <Button
                    android:id="@+id/b_orderMeal_selectRestaurant"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_marginRight="30dip"
                    android:text="@string/b_selectRestaurant" />

                <ImageView
                    android:id="@+id/iv_orderMeal_isSelectRestaurant"
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:layout_alignParentRight="true"
                    android:contentDescription="@string/iv_isSelected"
                    android:src="@drawable/x" />
            </RelativeLayout>

            <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="20dip"
                android:layout_marginLeft="10dip"
                android:layout_marginRight="10dip"
                android:layout_marginTop="20dip"
                android:layout_weight="1" >

                <Button
                    android:id="@+id/b_orderMeal_selectMealItems"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_marginRight="30dip"
                    android:text="@string/b_select_MealItems" />

                <ImageView
                    android:id="@+id/iv_orderMeal_isSelectMealItems"
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:layout_alignParentRight="true"
                    android:contentDescription="@string/iv_isSelected"
                    android:src="@drawable/x" />
            </RelativeLayout>

            <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="20dip"
                android:layout_marginLeft="10dip"
                android:layout_marginRight="10dip"
                android:layout_marginTop="20dip"
                android:layout_weight="1" >

                <Button
                    android:id="@+id/b_orderMeal_selectPayMethod"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_marginRight="30dip"
                    android:text="@string/b_selectPayMethod" />

                <ImageView
                    android:id="@+id/iv_orderMeal_isSelectPayMethod"
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:layout_alignParentRight="true"
                    android:contentDescription="@string/iv_isSelected"
                    android:src="@drawable/x" />
            </RelativeLayout>

            <Button
                android:id="@+id/b_orderMeal_checkBasket"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dip"
                android:layout_marginRight="40dip"
                android:layout_marginTop="20dip"
                android:layout_weight="1"
                android:text="@string/b_check_basket" />

            <TextView
                android:id="@+id/tv_orderMeal_errorMessage"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dip"
                android:layout_marginRight="20dip"
                android:layout_marginTop="30dip"
                android:layout_weight="1"
                android:text="@string/tv_orderMeal_errorMessage"
                android:textColor="#FF0000"
                android:textSize="20dip"
                android:textStyle="bold"
                android:typeface="sans" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:background="@drawable/bg_selector"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/b_orderMeal_send"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="4dip"
                android:layout_weight="1"
                android:background="@drawable/button_bg"
                android:text="@string/b_send"
                android:focusable="true"
                android:clickable="true"
                android:textColor="#FFFFFF" />

            <Button
                android:id="@+id/b_orderMeal_cancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="4dip"
                android:layout_weight="1"
                android:background="@drawable/button_bg"
                android:text="@string/b_cancel"
                android:clickable="true"
                android:textColor="#FFFFFF" />
        </LinearLayout>
    </RelativeLayout>

</ScrollView>

我说的是最后两个按钮

爪哇

b_send = (Button) findViewById(R.id.b_orderMeal_send);
        b_send.setOnClickListener(this);
        b_cancel = (Button) findViewById(R.id.b_orderMeal_cancel);
        b_cancel.setOnClickListener(this);

点击

@Override
    public void onClick(View v) {
      case R.id.b_orderMeal_cancel:
        Toast.makeText(this, "roma", Toast.LENGTH_LONG);
        break;          
    }

笔记

吐司没有出现

4

5 回答 5

5

我不知道为什么最后两个按钮不可点击,我多次使用背景(我为它们设置的)并且它适用于其他布局,我确信错误是类似 foucable 或 clickable 但我不'不知道具体在哪里。

我认为你的XML设计在各个方面都很好,所以问题很可能出现在Java. 您很可能忘记注册OnClickListener您的Button(s).

Button btn = (Button) findViewById(R.id.b_orderMeal_send);
btn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
       Toast.makeText(this, "Click event works.", Toast.LENGTH_SHORT).show();
     }
 }));

或者你可以使用OnClickListener界面然后

public void onClick(View v) {
   switch (v.getId()) {
      case R.id.b_orderMeal_send:
         Toast.makeText(this, "Click event works.", Toast.LENGTH_SHORT).show();
      break;
   }
}
于 2013-02-12T19:33:33.663 回答
2

有时模拟器会出现问题,所以我想建议你们使用真正的 Android 设备来检查/运行您的应用程序

于 2019-06-10T12:31:36.920 回答
1

用下面的方法替换你的onClick()方法,让我们知道 logcat。 看来您正在尝试显示toast但缺少.show()显示吐司的方法。 试试下面的代码,让我们知道

 @Override
 public void onClick(View v) {
 if(v.equals(b_send)){
     Toast.makeText(this,"b_send clicked", Toast.LENGTH_LONG).show();
     Log.d("TEMP TAG","b_send clicked");
 } else if(v.equals(b_cancel)){ 
    Toast.makeText(this,"b_cancel clicked", Toast.LENGTH_LONG).show();
      Log.d("TEMP TAG","b_cancel clicked");
      }

  }
于 2013-02-12T19:40:38.153 回答
1

在您的按钮的 xml 中设置 clickable = true 并在您的代码中尝试此操作。

findViewById(R.id.b_orderMeal_send).setOnClickListener(commonClickListener);
findViewById(R.id.b_orderMeal_cancel).setOnClickListener(commonClickListener);


private OnClickListener commonClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
    int selectedItemId = v.getId();
    switch (selectedItemId) {
    case R.id.b_orderMeal_send:
        Toast.makeText(this, "roma", Toast.LENGTH_LONG).show();
        break;
    case R.id.b_orderMeal_cancel:
    Toast.makeText(this, "roma", Toast.LENGTH_LONG).show();
        break;


    }
}
于 2013-09-01T10:27:01.683 回答
0

同样的事情不断发生在我身上,但我的情况有点不同。首先,按钮工作正常,并且都可以点击,然后在几次重新启动后突然完全停止工作。

我只是然后重新启动它QuitEmulator按钮又开始工作了

于 2019-11-09T04:35:29.670 回答