我在我的片段中有一個按鈕。其中應該變成R.drawable.role_button_pressed然後我按下它,或者如果我的按鈕已經按下它應該變成原來的R.drawable.role_button然後我按下它。但後來我按了我的按鈕,它需要按兩次才能改變它的狀態。按鈕上的第二次點擊android
我的XML看起來是這樣的:
<Button
android:id="@+id/role"
android:layout_width="40dp"
android:layout_height="40dp"
android:gravity="center"
android:layout_marginTop="@dimen/margin_role_buttons_top"
android:layout_marginRight="@dimen/margin_role_buttons_right"
android:layout_marginBottom="@dimen/margin_role_button_bot"
android:text="@string/jungle"
android:textColor="@android:color/black"
android:layout_below="@id/divider4"
android:layout_toLeftOf="@id/role_mid_lookingfor"
android:background="@drawable/role_button" />
和點擊方法
boolean isPressed = true;
Button rolebutton = (Button) v.findViewById(R.id.role);
rolebutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!isPressed){
rolebutton.setBackgroundResource(R.drawable.role_button_pressed);
isPressed=true;
}else if(isPressed==true){
rolebutton.setBackgroundResource(R.drawable.role_button);
isPressed=false;
}
}
});
你'其他if'可以通過只更換'else' –
,但它沒有什麼區別 – TheDude
沒錯它。它更快! :) –