按意图关闭对话框
close Dialog on intent
我有一个带有 RelativeLayout 的对话框,用于发送用户更改一些参数,当用户回来时,对话框会再次打开以显示已更改的参数,这样当用户回来时,我有两个对话框相互打开,我怎样才能关闭意图对话框?
此处创建对话框:
public void showFitnessDialog(){
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = LayoutInflater.from(getActivity());
final View view2 = inflater.inflate(R.layout.fitness_dialog, null);
Cursor data = databaseHelper.selectEverything("fitness_settings");
Cursor dat = databaseHelper.selectEverything("activity_alarm");
String dailyGoalFromDB = "";
String startAlarmData = "";
String endAlarmData = "";
String intervalAlarmData = "";
try{
data.moveToFirst();
dat.moveToFirst();
dailyGoalFromDB = data.getString(data.getColumnIndex("goal"));
startAlarmData = dat.getString(dat.getColumnIndex("start_time"));
endAlarmData = dat.getString(dat.getColumnIndex("end_time"));
intervalAlarmData = dat.getString(dat.getColumnIndex("interval"));
}
finally{
data.close();
dat.close();
databaseHelper.database.close();
}
if(isDailyGoalset){
RelativeLayout goal_set = (RelativeLayout) view2.findViewById(R.id.goal_set);
goal_set.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Intent myIntent = new Intent(getActivity(), FitnessSettings.class);
startActivityForResult(myIntent, GOAL_SET);
}
});
ImageView goalIndicator = (ImageView) view2.findViewById(R.id.goal_indicator);
TextView activate = (TextView) view2.findViewById(R.id.activate);
activate.setText("YOUR DAILY GOAL IS " + dailyGoalFromDB + " STEPS");
goalIndicator.setImageResource(R.drawable.checked);
}
else {
RelativeLayout goal_set = (RelativeLayout) view2.findViewById(R.id.goal_set);
goal_set.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Intent myIntent = new Intent(v.getContext(), FitnessSettings.class);
startActivityForResult(myIntent, 1);
}
});
TextView option_1 = (TextView) view2.findViewById(R.id.option_1);
option_1.setText("Goal Unset");
TextView activate = (TextView) view2.findViewById(R.id.activate);
activate.setText("DEFINE YOUR DAILY GOAL");
}
builder.setTitle(Html.fromHtml("<font color='#55BFE7'>Fitness</font>"));
builder.setPositiveButton("Done",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {}
});
builder.setView(view2);
final AlertDialog alertDialog = builder.create();
alertDialog.setOnShowListener(new OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
Button okButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
okButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.dismiss();
}
});
}
});
alertDialog.show();
}
@Override
public void onResume() {
super.onResume();
if(Globals.isGoalUpdated){
showFitnessDialog();
Toast.makeText(getActivity().getBaseContext(), "True", Toast.LENGTH_LONG).show();
}
我想关闭这里的对话框:
public void onClick(View v) {
Intent myIntent = new Intent(getActivity(), FitnessSettings.class);
startActivityForResult(myIntent, GOAL_SET);<br>
}
抱歉我的英语不好
将 final "AlertDialog alertDialog" 设置为全局,你需要他们吗 alertDialog.dismiss();
我有一个带有 RelativeLayout 的对话框,用于发送用户更改一些参数,当用户回来时,对话框会再次打开以显示已更改的参数,这样当用户回来时,我有两个对话框相互打开,我怎样才能关闭意图对话框?
此处创建对话框:
public void showFitnessDialog(){
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = LayoutInflater.from(getActivity());
final View view2 = inflater.inflate(R.layout.fitness_dialog, null);
Cursor data = databaseHelper.selectEverything("fitness_settings");
Cursor dat = databaseHelper.selectEverything("activity_alarm");
String dailyGoalFromDB = "";
String startAlarmData = "";
String endAlarmData = "";
String intervalAlarmData = "";
try{
data.moveToFirst();
dat.moveToFirst();
dailyGoalFromDB = data.getString(data.getColumnIndex("goal"));
startAlarmData = dat.getString(dat.getColumnIndex("start_time"));
endAlarmData = dat.getString(dat.getColumnIndex("end_time"));
intervalAlarmData = dat.getString(dat.getColumnIndex("interval"));
}
finally{
data.close();
dat.close();
databaseHelper.database.close();
}
if(isDailyGoalset){
RelativeLayout goal_set = (RelativeLayout) view2.findViewById(R.id.goal_set);
goal_set.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Intent myIntent = new Intent(getActivity(), FitnessSettings.class);
startActivityForResult(myIntent, GOAL_SET);
}
});
ImageView goalIndicator = (ImageView) view2.findViewById(R.id.goal_indicator);
TextView activate = (TextView) view2.findViewById(R.id.activate);
activate.setText("YOUR DAILY GOAL IS " + dailyGoalFromDB + " STEPS");
goalIndicator.setImageResource(R.drawable.checked);
}
else {
RelativeLayout goal_set = (RelativeLayout) view2.findViewById(R.id.goal_set);
goal_set.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Intent myIntent = new Intent(v.getContext(), FitnessSettings.class);
startActivityForResult(myIntent, 1);
}
});
TextView option_1 = (TextView) view2.findViewById(R.id.option_1);
option_1.setText("Goal Unset");
TextView activate = (TextView) view2.findViewById(R.id.activate);
activate.setText("DEFINE YOUR DAILY GOAL");
}
builder.setTitle(Html.fromHtml("<font color='#55BFE7'>Fitness</font>"));
builder.setPositiveButton("Done",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {}
});
builder.setView(view2);
final AlertDialog alertDialog = builder.create();
alertDialog.setOnShowListener(new OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
Button okButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
okButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.dismiss();
}
});
}
});
alertDialog.show();
}
@Override
public void onResume() {
super.onResume();
if(Globals.isGoalUpdated){
showFitnessDialog();
Toast.makeText(getActivity().getBaseContext(), "True", Toast.LENGTH_LONG).show();
}
我想关闭这里的对话框:
public void onClick(View v) { Intent myIntent = new Intent(getActivity(), FitnessSettings.class); startActivityForResult(myIntent, GOAL_SET);<br> }
抱歉我的英语不好
将 final "AlertDialog alertDialog" 设置为全局,你需要他们吗 alertDialog.dismiss();