Ana Etkinliğim içinde arayacağım ayrı bir tarih aralığı sınıfım var. i yapmak istiyorsunuz neBir tarih seçildikten sonra yöntem çağırma seçilidir
public void showDateDialog(View v){
DateDialog dialog= new DateDialog(findViewById(R.id.textView));
FragmentTransaction ft=getFragmentManager().beginTransaction();
dialog.show(ft, "DatePicker");
kullanıcı kendi tarihini seçilip Tamam preslenmiş sonra seçilen tarih SharedPreferences kendisine atanmış bir dize varsa, kontrol etmektir. Benim MainActivity içine bunun için bir yöntem oluşturduk:
public void checkHours(){
SharedPreferences sharedPref = getSharedPreferences("savedHours", Context.MODE_PRIVATE);
String date = textView.getText().toString();
if (sharedPref.contains(date)) {
textView2.setText(sharedPref.getString(date, ""));
}
}
tarih dizesi i DatePicker gelen var biridir.
public void onDateSet (DatePicker view, int year, int month, int day){
String date=year+"-"+month+"-"+day;
textView.setText(date);
MainActivity.checkHours();
}
Ama hata "Non-statik yöntem statik bağlamdan başvurulan edilemez" alıyorum: Ben DateDialog sınıf içinde gelen bu aramaya çalışıyorum. Eğer başka nasıl yapabilirim, checkDours() DateDialog içinden kullanmanın bir yolu var mı?
DateDialog sınıfı:
public class DateDialog extends DialogFragment implements DatePickerDialog.OnDateSetListener {
TextView textView;
TextView textView2;
public DateDialog(View view){
textView=(TextView)view;
}
public Dialog onCreateDialog(Bundle savedInstanceState){
final Calendar c= Calendar.getInstance();
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH);
int day=c.get(Calendar.DAY_OF_MONTH);
return new DatePickerDialog(getActivity(),this,year,month,day);
}
public void onDateSet (DatePicker view, int year, int month, int day){
String date=year+"-"+month+"-"+day;
textView.setText(date);
MainActivity.checkHours();
}
}
ihtiyaçları 'Activity' örneği için bir referans kullanmak 'onDateSet' yöntem ile
değiştirin. Lütfen bu yöntemi içeren sınıf için kod ekleyebilirsiniz. –
Üzgünüz, bununla ne demek istediğinden emin değilim? – Masy
Mümkünse 'DateDialog' sınıfının kodunu ekleyebilir misiniz? –