按下按钮时为什么会出现此错误消息?

时间:2011-07-07 11:35:31

标签: android android-layout android-emulator android-widget android-manifest

我在布局xml文件中定义了一个按钮:

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

在我的activity类中,我使用以下代码处理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
...
...

P.S。我在更改按钮大小和背景可绘制后出现此错误,听起来很奇怪......我也觉得很奇怪。

- - - - 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 个答案:

答案 0 :(得分:1)

Toast.makeText(ClassName.this, "button clicked", Toast.LENGTH_SHORT).show();

请尝试

答案 1 :(得分:1)

您的错误就在这一行......

机器人:TEXTSIZE = “10dip”

必须在sp中指定textSize而不是dip.replace您的代码使用&gt;

android:textSize =“10sp”,你就完成了!

答案 2 :(得分:1)

试试这个 ::

 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();
}