क्या कुछ और है जिसे कहा जाना चाहिए?
showDialog(TIME_DIALOG_ID);
क्या है इस ट्यूटोरियल लेकिन कहते हैं पदावनत ग्रहण में।
क्या कुछ और है जिसे कहा जाना चाहिए?
showDialog(TIME_DIALOG_ID);
क्या है इस ट्यूटोरियल लेकिन कहते हैं पदावनत ग्रहण में।
जवाबों:
से http://developer.android.com/reference/android/app/Activity.html
सार्वजनिक अंतिम शून्य showDialog (int id) एपीआई स्तर 1 में जोड़ा गया
इस विधि को एपीआई स्तर 13 में हटा दिया गया था। इसके बजाय फ्रैगमेंटमैन के साथ नए डायलॉगफ्रेगमेंट वर्ग का उपयोग करें; यह एंड्रॉइड संगतता पैकेज के माध्यम से पुराने प्लेटफार्मों पर भी उपलब्ध है।
शोअलियोग (सरल, बंडल) का सरल संस्करण जो कोई तर्क नहीं लेता है। बस अशोभनीय तर्कों के साथ showDialog (int, बंडल) को कॉल करें।
क्यों
कैसे हल करें?
अधिक
यह विधि पदावनत है। इसके बजाय
नएDialogFragment
वर्ग का उपयोग करेंFragmentManager
; यह एंड्रॉइड संगतता पैकेज के माध्यम से पुराने प्लेटफार्मों पर भी उपलब्ध है।
संवाद बॉक्स प्रदर्शित करने के लिए, आप निम्न कोड का उपयोग कर सकते हैं। यह कई चेक बॉक्सों के साथ एक साधारण AlertDialog बॉक्स प्रदर्शित करने के लिए है:
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();
जबकि यदि आप अलग-अलग संवाद बॉक्स या कुछ भी प्रदर्शित करने के लिए showDialog फ़ंक्शन का उपयोग कर रहे हैं, तो दिए गए तर्कों के अनुसार, आप एक स्वयं फ़ंक्शन बना सकते हैं और इसे onClickListener()
फ़ंक्शन के तहत कॉल कर सकते हैं । कुछ इस तरह:
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);
}
});
}
और फ़ंक्शन परिभाषा में ऊपर दिए गए संवाद बॉक्स का कोड जोड़ें।
इस कोड ने मेरे लिए काम किया। आसान तय है, लेकिन शायद एक पसंदीदा तरीका नहीं है।
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