我是android和java的新手,所以请善待 - 我知道我的方法不正确 按下按钮时我想要一个状态(进程运行)(一个锁存状态) 我试过的是xml中的以下内容
<Button
android:id="@+id/my_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click me"
android:onClick="otherClicked">
</Button>
然后我尝试处理它(吐司只是为了调试)
public void otherClicked(View v) {
if(v.getId() == R.id.my_btn) {
if(v.findViewById(v.getId()).isPressed() == true) {
Toast.makeText(getBaseContext(), "isPressed", Toast.LENGTH_LONG).show();
}
}
}
答案 0 :(得分:1)
尝试使用onTouchListener
brown = (Button) findViewById(R.id.my_btn);
brown.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
//down clicked
} else if (event.getAction() == (MotionEvent.ACTION_UP)) {
//button release
}
return false;
}
});
答案 1 :(得分:0)
试试这个
//如何在XML中定义按钮的示例
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/self_destruct"
android:onClick="selfDestruct" />
//活动类的示例
public class MyActivity extends Activity {
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.content_layout_id);
final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});
}
}
public void selfDestruct(View view) {
Toast.makeText(getBaseContext(), "isPressed", Toast.LENGTH_LONG).show();
}
答案 2 :(得分:0)
对于两个州,Android有一个toggle button - 请检查一下。按钮具有仅称为单击的行为,但切换按钮具有开/关状态。希望我对你所期待的答案没有错。