Android日期选择器按钮不工作
好的,我有一个我正在开发的应用程序。。。它有一个左菜单滑出使用ABS和滑动菜单库。这是我的片段,在选择菜单项后启动。假设这个片段有一个文本字段来显示您选择的日期,还有一个按钮来选择日期。知道我做错了什么吗SelectDateFragment出错了 以下是XML布局: 编辑: 我正试着跟着 我得到的错误是片段内部类应该是静态的。我对这个话题的理解不够,通过阅读更多的内容,我仍然不明白为什么他的作品和我的作品都不理解。试试这个Android日期选择器按钮不工作,android,Android,好的,我有一个我正在开发的应用程序。。。它有一个左菜单滑出使用ABS和滑动菜单库。这是我的片段,在选择菜单项后启动。假设这个片段有一个文本字段来显示您选择的日期,还有一个按钮来选择日期。知道我做错了什么吗SelectDateFragment出错了 以下是XML布局: 编辑: 我正试着跟着 我得到的错误是片段内部类应该是静态的。我对这个话题的理解不够,通过阅读更多的内容,我仍然不明白为什么他的作品和我的作品都不理解。试试这个 shipdate.setOnClickListener(new Vie
shipdate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(999);
}
});
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 999:
// set date picker as current date
return new DatePickerDialog(this, datePickerListener, year, month,
day);
}
return null;
}
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
// when dialog box is closed, below method will be called.
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay) {
final Calendar cf = Calendar.getInstance();
year = cf.get(Calendar.YEAR);
month = cf.get(Calendar.MONTH);
day = cf.get(Calendar.DAY_OF_MONTH);
// set selected date into textview
shipdate.setText(new StringBuilder().append(month + 1)
.append("-").append(day).append("-").append(year)
.append(" "));
}
};
它到底是什么错误?public class selectDateFragments如果以后不想更改它,可以将其设置为静态。静态和最终,检查一些java源代码。你会经常发现这一点!它可以更改,因为每次他们按下按钮,它都会重新填充该文本框。我对droid是新手,仍在阅读大量书籍。因此,您必须详细说明如何使用此代码,因为当我将其粘贴到片段中并导入所有内容时,它仍然会出错。
import java.util.Calendar;
import android.annotation.SuppressLint;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.support.v4.app.Fragment;
import android.support.v4.app.DialogFragment;
import android.widget.EditText;
public class DatePicker extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstaceState){
return inflater.inflate(R.layout.fragment_charting, container, false);
}
EditText mEdit;
@Override
public void onStart() {
super.onStart();
}
public void selectDate(View view) {
DialogFragment newFragment = new SelectDateFragment();
newFragment.show(getFragmentManager(), "DatePicker");
}
public void populateSetDate(int year, int month, int day) {
mEdit = (EditText)getView().findViewById(R.id.dateselected);
mEdit.setText(month+"/"+day+"/"+year);
}
public class SelectDateFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar calendar = Calendar.getInstance();
int yy = calendar.get(Calendar.YEAR);
int mm = calendar.get(Calendar.MONTH);
int dd = calendar.get(Calendar.DAY_OF_MONTH);
return new DatePickerDialog(getActivity(), this, yy, mm, dd);
}
@Override
public void onDateSet(android.widget.DatePicker view, int year, int monthOfYear, int dayOfMonth) {
// TODO Auto-generated method stub
populateSetDate(year, monthOfYear, dayOfMonth);
}
}
}
shipdate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(999);
}
});
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 999:
// set date picker as current date
return new DatePickerDialog(this, datePickerListener, year, month,
day);
}
return null;
}
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
// when dialog box is closed, below method will be called.
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay) {
final Calendar cf = Calendar.getInstance();
year = cf.get(Calendar.YEAR);
month = cf.get(Calendar.MONTH);
day = cf.get(Calendar.DAY_OF_MONTH);
// set selected date into textview
shipdate.setText(new StringBuilder().append(month + 1)
.append("-").append(day).append("-").append(year)
.append(" "));
}
};