Vì vậy, tôi đang cố gắng bật datepicker cho các phiên bản Android dưới 11 tuổi. Tôi đang sử dụng thư viện hỗ trợ v4. Tôi nhập khẩu tất cả các điều cần thiết:Phương thức 'getSupportFragmentManager()' chưa được loại trừ
import android.support.v4.app.*;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.DialogFragment;
Và tôi đã tạo ra một lớp:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.widget.EditText;
public class DatePicker extends DialogFragment implements DatePickerDialog.OnDateSetListener {
public EditText textField;
@Override
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 EditText getTextField() {
return textField;
}
public void setTextField(EditText textField) {
this.textField = textField;
}
public void onDateSet(DatePicker view, int year, int month, int day) {
textField.setText(day+"."+(month+1)+"."+year);
}
@Override
public void onDateSet(android.widget.DatePicker arg0, int arg1, int arg2,int arg3) {
textField.setText(arg3+"."+(arg2+1)+"."+arg1);
}
}
Vì vậy, lớp biên dịch ok. Nhưng vấn đề là khi tôi cố gắng sử dụng nó. Tôi có một phương pháp onclick cho EditText trông như thế:
public void showDatePicker(View v) {
DialogFragment selectDate = (DialogFragment) new DatePicker();
EditText edit=(EditText)v;
((DatePicker) selectDate).setTextField(edit);
selectDate.show(getSupportFragmentManager(), "datePicker");
}
tuy nhiên trong dòng cuối cùng tôi nhận được lỗi:
The method getSupportFragmentManager() is undefined for the type MainActivity
Bất kỳ ý tưởng làm thế nào để giải quyết đó? bất cứ điều gì btw tôi không có nhập khẩu như
android.app.Fragment;
Vì vậy, đó không phải là trường hợp ở đây: S
Bạn thực sự phải chấp nhận câu trả lời cho những người khác chỉ ra rằng đây là một vấn đề được giải quyết –
Vì vậy, tôi đã làm, may mắn là tôi đang trôi qua mà bây giờ: D – gabrjan