gpt4 book ai didi

android - 如果单击每个按钮并应保持不活动状态,如何禁用每个按钮,以便用户在 android 中不再单击同一个按钮?

转载 作者:行者123 更新时间:2023-11-30 03:46:49 24 4
gpt4 key购买 nike

我是 android 的新手,需要你的帮助。

我在一个 Activity 中有五个按钮。每个按钮导致不同的 Activity 。单击每个按钮时,我们将进入一个 Activity ,我在其中执行数据库插入功能,而在返回用户时,我们将进入保留五个按钮的主要 Activity 。

现在,我想要的是让用户知道他已经点击了哪个按钮,以避免用户混淆。也就是说,我想在他完成每个按钮引导的 Activity 中的插入后禁用该按钮。

这是我尝试过的:

public class ResourcesActivity extends Activity {
static boolean isBtnVenueClikced = false; {


public void buttonListeners() {
venue_btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
isBtnVenueClikced = true;
Log.i("In button venue click isBtnVenueClikced ", isBtnVenueClikced + "");
Intent venue_intent = new Intent(getApplicationContext(), VenueActivity.class);
venue_intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(venue_intent);

}


});
food_cost_btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i("In Food Button isBtnVenueClikced ", isBtnVenueClikced + "");
//isBtnFoodClicked = true;
Intent food_intent = new Intent(getApplicationContext(), FoodAndBeveragesActivity.class);
food_intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(food_intent);

}
});
accomodation_btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

//isBtnAccClicked = true;
Intent accomodation_intent = new Intent(getApplicationContext(), AccomodationActivity.class);
accomodation_intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(accomodation_intent);

}
});
guest_details_btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

//isBtnGuestClicked = true;
Intent guest_details_intent = new Intent(getApplicationContext(), GuestDetailsActivity.class);
guest_details_intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(guest_details_intent);

}
});
miscl_btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

//isBtnOtheClicked = true;
Intent others_intent = new Intent(getApplicationContext(), OthersActivity.class);
others_intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(others_intent);

}
});
}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.i("In onResume isBtnVenueClikced ", isBtnVenueClikced + "");
//checkcliks();
//isBtnVenueClikced = false;
if (isBtnVenueClikced == false) {
venue_btn.setEnabled(true);
} else {
venue_btn.setEnabled(false);
}


}
}

最佳答案

使用 startActivityForResult(intent, requestCode); 方法,同时使用单击按钮的请求代码启动 Activity 。在您返回时的第二个 Activity 中,只需设置 setResult(RESULT_OK); 这意味着在第二个 Activity 中一切都很好,在第一个 Activity 中,您将在回调方法中再次获得结果

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
}

因此您可以通过检查请求代码来禁用此方法中的按钮。

希望对你有帮助

编辑:

先取五个常量,如

private final int VENUE_BUTTON_REQUEST_CODE = 0;

在你的点击监听器中

venue_btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

Intent venue_intent = new Intent(getApplicationContext(), VenueActivity.class);
venue_intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(venue_intent,VENUE_BUTTON_REQUEST_CODE);

}


});

在你的回调方法中这样做

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == VENUE_BUTTON_REQUEST_CODE){
venue_btn.setEnable(false);
}
super.onActivityResult(requestCode, resultCode, data);
}

关于android - 如果单击每个按钮并应保持不活动状态,如何禁用每个按钮,以便用户在 android 中不再单击同一个按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14868345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com