¿Hay algo más que deba llamarse?
showDialog(TIME_DIALOG_ID);
Está en este tutorial pero dice obsoleto en Eclipse.
¿Hay algo más que deba llamarse?
showDialog(TIME_DIALOG_ID);
Está en este tutorial pero dice obsoleto en Eclipse.
Respuestas:
De http://developer.android.com/reference/android/app/Activity.html
public final void showDialog (int id) Agregado en API nivel 1
Este método quedó obsoleto en el nivel de API 13. En su lugar, utilice la nueva clase DialogFragment con FragmentManager; esto también está disponible en plataformas más antiguas a través del paquete de compatibilidad de Android.
Versión simple de showDialog (int, Bundle) que no acepta argumentos. Simplemente llama a showDialog (int, Bundle) con argumentos nulos.
Por qué
¿Cómo resolver?
Más
Este método está en desuso.
Utilice la nuevaDialogFragment
clase con en suFragmentManager
lugar; esto también está disponible en plataformas más antiguas a través del paquete de compatibilidad de Android.
Para mostrar el cuadro de diálogo, puede utilizar el siguiente código. Esto es para mostrar un cuadro de diálogo de alerta simple con varias casillas de verificación:
AlertDialog.Builder alertDialog= new AlertDialog.Builder(MainActivity.this); .
alertDialog.setTitle("this is a dialog box ");
alertDialog.setPositiveButton("ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(),"ok ive wrote this 'ok' here" ,Toast.LENGTH_SHORT).show();
}
});
alertDialog.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "cancel ' comment same as ok'", Toast.LENGTH_SHORT).show();
}
});
alertDialog.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), items[which] +(isChecked?"clicked'again i've wrrten this click'":"unchecked"),Toast.LENGTH_SHORT).show();
}
});
alertDialog.show();
Mientras que si está utilizando la función showDialog para mostrar un cuadro de diálogo diferente o cualquier cosa según los argumentos pasados, puede crear una función propia y puede llamarla bajo la onClickListener()
función. Algo como:
public CharSequence[] items={"google","Apple","Kaye"};
public boolean[] checkedItems=new boolean[items.length];
Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt=(Button) findViewById(R.id.bt);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
display(0);
}
});
}
y agregue el código del cuadro de diálogo dado arriba en la definición de la función.
Este código funcionó para mí. Solución fácil, pero probablemente no sea la forma preferida.
public void onClick (View v) {
createdDialog(0).show(); // Instead of showDialog(0);
}
protected Dialog createdDialog(int id) {
// Your code
}
package com.keshav.datePicker_With_Hide_Future_Past_Date;
import android.app.DatePickerDialog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.DatePicker;
import android.widget.EditText;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity {
EditText ed_date;
int year;
int month;
int day;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ed_date=(EditText) findViewById(R.id.et_date);
ed_date.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Calendar mcurrentDate=Calendar.getInstance();
year=mcurrentDate.get(Calendar.YEAR);
month=mcurrentDate.get(Calendar.MONTH);
day=mcurrentDate.get(Calendar.DAY_OF_MONTH);
final DatePickerDialog mDatePicker =new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener()
{
@Override
public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday)
{
ed_date.setText(new StringBuilder().append(year).append("-").append(month+1).append("-").append(day));
int month_k=selectedmonth+1;
}
},year, month, day);
mDatePicker.setTitle("Please select date");
// TODO Hide Future Date Here
mDatePicker.getDatePicker().setMaxDate(System.currentTimeMillis());
// TODO Hide Past Date Here
// mDatePicker.getDatePicker().setMinDate(System.currentTimeMillis());
mDatePicker.show();
}
});
}
}
// Its Working