Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android日期选择器按钮不工作_Android - Fatal编程技术网

Android日期选择器按钮不工作

Android日期选择器按钮不工作,android,Android,好的,我有一个我正在开发的应用程序。。。它有一个左菜单滑出使用ABS和滑动菜单库。这是我的片段,在选择菜单项后启动。假设这个片段有一个文本字段来显示您选择的日期,还有一个按钮来选择日期。知道我做错了什么吗SelectDateFragment出错了 以下是XML布局: 编辑: 我正试着跟着 我得到的错误是片段内部类应该是静态的。我对这个话题的理解不够,通过阅读更多的内容,我仍然不明白为什么他的作品和我的作品都不理解。试试这个 shipdate.setOnClickListener(new Vie

好的,我有一个我正在开发的应用程序。。。它有一个左菜单滑出使用ABS和滑动菜单库。这是我的片段,在选择菜单项后启动。假设这个片段有一个文本字段来显示您选择的日期,还有一个按钮来选择日期。知道我做错了什么吗SelectDateFragment出错了

以下是XML布局:

编辑: 我正试着跟着

我得到的错误是片段内部类应该是静态的。我对这个话题的理解不够,通过阅读更多的内容,我仍然不明白为什么他的作品和我的作品都不理解。

试试这个

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(" "));
        }


};