我在布局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 控制台收到以下错误消息:
我不明白错误消息是什么意思?抱怨什么?我哪里错了?
( 请鼠标右键单击以下图片,然后查看图片 )
如果您在查看上面的图像时遇到问题,我会在下面写下错误信息:
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"
/>
...
...
答案 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();
}