我的XML文件中定义了一个按钮。按钮的工作方式与您期望的完全一样......直到我在底部添加行(android:background =“drawable / leftarrow1”)。然后按钮在活动中不再可点击,但新背景显示为我想要的。
是什么给出了?
<Button
android:id="@+id/switch_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:background="@drawable/leftarrow1" />
以下是供参考的点击代码
Button switchLeft = (Button) findViewById(R.id.switch_left);
switchLeft.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.w(this.getClass().getName(), "clicked left arrow");
}
});
答案 0 :(得分:2)
我的工作完全正常。每次点击都会被记录下来。
我的猜测是您使用实体图像文件(.png,.jpeg)作为背景。如果你只是使用这样的图像,它在点击或选择时永远不会改变。为此,描述了here状态列表drawable。
在该XML文件中,您可以定义要在选定,单击等特定状态下显示的图像。
另一个提示。如果你想查看按钮的功能,例如使用这种代码。
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class TestButton extends Activity {
Context ctx = null;
Button btn = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.buttonbackground);
ctx = getApplication();
btn = (Button) findViewById(R.id.switch_left);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(ctx, "Button clicked", 5000).show();
// Log.w(this.getClass().getName(), "clicked left arrow");
}
});
}
}
您可以更轻松地识别事件,因为祝酒信息是一种更直观的反馈。
答案 1 :(得分:0)