Диалог и обработка нажатия без закрытия диалога
Диалог и обработка нажатия без закрытия диалога
Можно ли сделать так чтобы нажатие на кнопке в диалоге не приводило к его закрытию?
т.е. диалог создается так:
AlertDialog.Builder alert = new AlertDialog.Builder(this);
далее добавляем кнопки:
LinearLayout ln = new LinearLayout(this);
EditText etUser = new EditText(this);
ln.addView(etUser);
alert.setView(ln);
// Нажатие на эту кнопку не дожно закрывать диалог
alert.setNeutralButton("Настройки",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
как это сделать?
т.е. диалог создается так:
AlertDialog.Builder alert = new AlertDialog.Builder(this);
далее добавляем кнопки:
LinearLayout ln = new LinearLayout(this);
EditText etUser = new EditText(this);
ln.addView(etUser);
alert.setView(ln);
// Нажатие на эту кнопку не дожно закрывать диалог
alert.setNeutralButton("Настройки",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
как это сделать?
Re: Диалог и обработка нажатия без закрытия диалога
dimsiss вызывается в любом случае даже если Вы его не вызываете, откройте исходники и увидите)) у меня была такая проблема, честно не помню решил я её или нет
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Диалог и обработка нажатия без закрытия диалога
создайте свой диаложек, ничего сложного, делов-то
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Диалог и обработка нажатия без закрытия диалога
Foenix писал(а):создайте свой диаложек, ничего сложного, делов-то
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Диалог и обработка нажатия без закрытия диалога
Я добавил свои кнопки и обработчики для них, но возникает вопрос как теперь закрывать диалог при нужном условии?Foenix писал(а):создайте свой диаложек, ничего сложного, делов-то
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Диалог и обработка нажатия без закрытия диалога
Нет методов cancel и dismiss
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Диалог и обработка нажатия без закрытия диалога
Вот один из моих методов.
[syntax=java]
public static void showPlaceMenu(Context mapContext, ru.lab_m.whowhere.IGPSService mapMIGPSService,
final Location currentLocation, final Location selectedLocation) {
context = mapContext;
mIGPSService = mapMIGPSService;
LayoutInflater li = LayoutInflater.from(context);
View placeMenuView = li.inflate(R.layout.place_menu, null);
final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setView(placeMenuView);
final Button btnWhatIsThere = (Button) placeMenuView.findViewById(R.id.btnWhatIsThere);
final Button btnRouteTo = (Button) placeMenuView.findViewById(R.id.btnRouteTo);
final Button btnPlaceMenuCancel = (Button) placeMenuView.findViewById(R.id.btnPlaceMenuCancel);
final AlertDialog alertDialog = alertDialogBuilder.create();
btnWhatIsThere.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new SelectedPlaceTask(context, currentLocation, selectedLocation).execute();
alertDialog.dismiss();
}
});
btnRouteTo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, NewCheckpointActivity.class);
intent.putExtra("currentLatitude", currentLocation.getLatitude());
intent.putExtra("currentLongitude", currentLocation.getLongitude());
intent.putExtra("selectedLatitude", selectedLocation.getLatitude());
intent.putExtra("selectedLongitude", selectedLocation.getLongitude());
context.startActivity(intent);
alertDialog.dismiss();
}
});
btnPlaceMenuCancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.dismiss();
}
});
alertDialog.show();
}
[/syntax]
Я помню да, был там что-то, когда я столкнулся с той же проблемой, но не могу вспомнить как решил. Напиши свой код, если не решишь проблему
[syntax=java]
public static void showPlaceMenu(Context mapContext, ru.lab_m.whowhere.IGPSService mapMIGPSService,
final Location currentLocation, final Location selectedLocation) {
context = mapContext;
mIGPSService = mapMIGPSService;
LayoutInflater li = LayoutInflater.from(context);
View placeMenuView = li.inflate(R.layout.place_menu, null);
final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setView(placeMenuView);
final Button btnWhatIsThere = (Button) placeMenuView.findViewById(R.id.btnWhatIsThere);
final Button btnRouteTo = (Button) placeMenuView.findViewById(R.id.btnRouteTo);
final Button btnPlaceMenuCancel = (Button) placeMenuView.findViewById(R.id.btnPlaceMenuCancel);
final AlertDialog alertDialog = alertDialogBuilder.create();
btnWhatIsThere.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new SelectedPlaceTask(context, currentLocation, selectedLocation).execute();
alertDialog.dismiss();
}
});
btnRouteTo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, NewCheckpointActivity.class);
intent.putExtra("currentLatitude", currentLocation.getLatitude());
intent.putExtra("currentLongitude", currentLocation.getLongitude());
intent.putExtra("selectedLatitude", selectedLocation.getLatitude());
intent.putExtra("selectedLongitude", selectedLocation.getLongitude());
context.startActivity(intent);
alertDialog.dismiss();
}
});
btnPlaceMenuCancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.dismiss();
}
});
alertDialog.show();
}
[/syntax]
Я помню да, был там что-то, когда я столкнулся с той же проблемой, но не могу вспомнить как решил. Напиши свой код, если не решишь проблему
Re: Диалог и обработка нажатия без закрытия диалога
В результате сделал диалог немного по другому, т.е. первоначально было так:
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
сделал дальше так:
final AlertDialog alertDialog = alert.create();
после чего добавил layout, кнопки, обработчики кнопок, и конечно там где надо можно использовать alertDialog.dismiss()
спасибо no-- за подсказку
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
сделал дальше так:
final AlertDialog alertDialog = alert.create();
после чего добавил layout, кнопки, обработчики кнопок, и конечно там где надо можно использовать alertDialog.dismiss()
спасибо no-- за подсказку
