Почему я получаю это сообщение об ошибке, когда нажимаю кнопку? - PullRequest
1 голос
/ 07 июля 2011

Я определил кнопку в своем XML-файле макета:

<Button
   android:id="@+id/my_btn" 
   android:layout_width="30dip"
   android:layout_height="20dip" 
   android:text="@string/click_me"
   android:textSize="10dip"
/>

В своем классе деятельности я обрабатываю событие click с помощью следующего кода:

 Button myBtn = (Button) findViewById(R.id.my_btn);
 myBtn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                 showToast();
            }
          });

public void showToast() {
        Context context = getApplicationContext();
        CharSequence text = "button clicked";
        int duration = Toast.LENGTH_SHORT;

        Toast toast = Toast.makeText(context, text, duration);
        toast.show();
     }

Я запускаю свое приложение, когда я нажимаю кнопку, я получаю следующее сообщение об ошибке от консоли Eclipse LogCat : enter image description here

Я не понимаю, что означает это сообщение об ошибке ?На что он жалуется?Где я не прав?

( Щелкните правой кнопкой мыши на следующем изображении и просмотрите изображение )

Если у вас возникла проблема с просмотром вышеуказанного изображения, я напишусообщение об ошибке здесь ниже:

ActivityThread | enter process activity msg=120

ActivityThread | exit process activity msg=120

WindowManager  | waitForLastKey: mFinished=true, mLastWin=null

ViewRoot enter | Dispatching touchevent to com.android.internal.policy.impl.PhoneWindow$DecorView@2fde0c80 touchevent action is 0 X=219.54167 Y=505.3675
...
...

PS Я получил эту ошибку после того, как изменил размер кнопки и прорисовываемый фон, звучит странно ... Мне тоже очень странно.

-----UPDATE --------

файл макета:

<RelativeLayout 
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dip">

            ...     
        <TextView
        android:id="@+id/upper_text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textSize="10sp"
        android:textStyle="bold"/>

    <Button
        android:id="@+id/my_btn"
        android:layout_toRightOf="@id/upper_text1"
        android:layout_alignTop="@id/upper_text2"
        android:layout_width="80dip"
        android:layout_height="20dip"
        android:background="@drawable/btn_bg"
        android:text="@string/click_me"
                        />
...
...

Ответы [ 3 ]

1 голос
/ 07 июля 2011

Ваша ошибка находится в этой строке ....

android: textSize = "10dip"

Размер textSize должен быть указан в sp вместо dip. Замените код на ->

android: textSize = "10sp" и все готово!

1 голос
/ 07 июля 2011

Попробуйте это ::

 Button my_btn; 
 my_btn = (Button) findViewById(R.id.my_btn);



 my_btn.setOnClickListener(new View.OnClickListener() {
     public void onClick(View v) {

Toast.makeText(getApplicationContext(), "button clicked", Toast.LENGTH_SHORT). show();
}
1 голос
/ 07 июля 2011
Toast.makeText(ClassName.this, "button clicked", Toast.LENGTH_SHORT).show();

пожалуйста, попробуйте

...