- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Android 开发的新手,几天来我一直被这个问题困扰。我有一个用 AlertDialog 实现的填写表单。在对话框中,我创建了一个 DatePickerDialog,它会在单击并聚焦特定的 EditText 时打开。我似乎无法弄清楚如何从 DatePicker 获取日期并将其显示给可点击的 EditText 。下面是我的代码,如果有人有一两个想法请分享!!
public void AddDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
LayoutInflater inflater=this.getLayoutInflater();
View view=inflater.inflate(R.layout.add_dialog_layout, spinner);
builder.setView(view);
Spinner spinner = (Spinner)view.findViewById(R.id.spinner1);
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.list_of_categories, android.R.layout.simple_spinner_item);
spinner.setAdapter(adapter);
builder.setInverseBackgroundForced(true);
EditText editText1 = (EditText)view.findViewById(R.id.editText4);
editText1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SetUpDateDialog();
}
});
editText1.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus)
{
SetUpDateDialog();
}
}
});
TextView title = new TextView(this);
title.setText("Προσθέστε πληροφορίες");
title.setBackgroundColor(Color.DKGRAY);
title.setPadding(20, 20, 20, 20);
title.setGravity(Gravity.CENTER);
title.setTextColor(Color.WHITE);
title.setTextSize(20);
title.setCompoundDrawablesWithIntrinsicBounds(R.drawable.add_icon, 0, 0, 0);
builder.setCustomTitle(title);
builder.show();
}
public void SetUpDateDialog(){
new DatePickerDialog(MapActivityPrivilleged.this,d,
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH))
.show();
}
private DatePickerDialog.OnDateSetListener d = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month,
int day) {
LayoutInflater li = LayoutInflater.from(MapActivityPrivilleged.this);
View view1=li.inflate(R.layout.add_dialog_layout, null);
EditText editText1 = (EditText)view1.findViewById(R.id.editText4);
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, day);
editText1.setText(day + "/" + (month+1)+ "/" + year);
}
};
最佳答案
其实我已经找到了解决问题的方法。我创建了一个单独的 DialogFragment,它使用当前日期作为 picker 中的默认日期。我还在可点击的 EditText 上设置了一个监听器, fragment 是在 onClick() 方法中创建的。
对话框出现后,用户可以根据自己的选择修改日期。最后,我使用 onDateSet() 将用户选择的日期设置为文本。
fragment 类:
public static class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
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);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public void onDateSet(DatePicker view, int year, int month, int day) {
DateText.setText(String.valueOf(day) + "/"
+ String.valueOf(month + 1) + "/" + String.valueOf(year));
// set selected date into datepicker also
}
}
可点击的 EditText 和在 onClick() 方法中创建 DatePickerFragment。
DateText = (EditText)view.findViewById(R.id.editText);
DateText.setOnClickListener( new OnClickListener () {
@Override
public void onClick(View v) {
android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
DialogFragment DateFragment = new DatePickerFragment();
DateFragment.show(getFragmentManager(), "datePicker");
}
});
关于android - AlertDialog 内的 DatePickerDialog(在特定的 EditText 上设置日期),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31550049/
有什么方法可以让 DatePickerDialog 在点击设置按钮后不消失吗? 最佳答案 为对话框按钮添加一个 OnClickListener 并覆盖 onClick。 关于安卓 DatePicker
所有编写的DatePickerDialog都报错(无法解析符号),但程序编译正确,LogCat中没有错误。谁能解释一下为什么? 最佳答案 您应该尝试文件菜单上的无效缓存/重新启动选项。过时的缓存是导致
我已将 DatePickerDialog 包含到我的 Activity 中,它允许用户选择日历月份和日期。但是,我想将选择限制为从现在起一周以内(当前日期之前没有选项)。 我已经研究过setMinDa
我正在使用DatePickerDialog它就像一个魅力。现在我想将 3 个字符串数组 (array.xml) 中的自己的值设置到日期选择器中。原因是我正在更改应用程序内部的区域设置,而不是整个手机。
底部的两个按钮不会显示标签。这就是我实例化日期选择器 new DatePickerDialog(classname.this, date, myCalendar .get(Calendar.YEAR)
我正在使用 DatePickerDialog 选择日期。当月份从一周的最后一天开始,并且有 31 天时,不显示该月的最后一天。例如 2019 年 12 月从星期日开始,不显示日期 30 和 31。 我
这个问题在这里已经有了答案: Customize DatePicker. Android (2 个答案) 关闭 9 年前。 我想更改适合品牌的 DatePicker 颜色。我该怎么做? 此外,我想在
我发现了一些奇怪的事情: 我们来看看正常的DatePickerDialog: 当我添加这一行来设置昨天的最大日期时: datePickerDialog.getDatePicker().setMaxDa
我目前正在我的 Android 应用程序中使用 DatePickerDialog。 众所周知,对话框有三个 EditText:1) 天 2) 月 3) 年。并且有 + 和 - 三个按钮可以移动到所选字
我有一个 EditView,我试图在其中绑定(bind) DatePickerDialog。它与 api 19 配合良好。但是当在 api version 25 Marshmallow 上测试时,日历
我正在尝试在我的 android 应用程序中实现一个日期选择器,但是我似乎找不到 DatePickerDialog 界面。 public class DatePickerFragment extend
我已经实现了 DatePickerDialog,它可以正常工作。但是,标题似乎没有格式。例如,它应该显示为:2011 年 4 月 12 日,星期二。但它显示为 3, 2011 4 12。 源代码看起来
我正在制作一个使用 DatePickerDialog 的 Android 应用程序。预期的功能是让用户在对话框中选择一个日期,然后让 TextView 反射(reflect)所选日期。但是,当用户选择
我想我只是一个小错误,但我找不到它。在下面的代码中,我的整个 @Override 方法被标记为“false”。 inputBill.setOnFocusChangeListener(n
我创建了一个 DatePickerDialog 并传递了自定义年份、日期、日期(例如,我已经传递了 2017 年 1 月 26 日)。它显示所有年份的 1 月 26 日都突出显示。我怎样才能避免这种情
我已经在我的应用程序中实现了 DatePickerDialog,但只有 Lollipop 存在以下问题。 代码 fragment : void setDate(final EditText ed) {
我正在使用 DatePicker 对话框。当一个按钮被点击时 datepicker show一切正常。 但是我的 BUTTON_NEGATIVE 按钮不起作用。我点击了 NEGATIVE_BUTTON
我有一个奇怪的问题。我从 AppCompatActivity 继承了 Activity,里面有 Fragment。在这个 Fragment 中,我显示了 DatePickerDialog 来选择日期。
我正在使用以下代码从 EditText 创建一个 DatePickerDialog。 import android.widget.DatePicker; import android.app.Date
我已经为 DatePickerDialog 背景设置了样式,它在 Nexus 5 (Marshmallow) 上的显示方式有所不同: 我使用的样式是: @color/android:whit
我是一名优秀的程序员,十分优秀!