我有一个编辑文本框,我有调用ontouchlistener,它显示一个自定义对话框,当我单击setdate按钮时,日期选择器上的日期应该设置在编辑文本上,并且对话框应该得到Dississe。但是我不知道如何从日期选择器中获取日期,以及如何在编辑文本框中设置。我在date.init(year,monthOfYear,dayOfMonth,new MyOnDateChangedListener())中收到错误;并且错误为该行有多个标记-dayOfMonth无法解析为变量-year无法解析为变量-monthOfYear无法解析为变量
et4.setOnTouchListener(new OnTouchListener() {
final Dialog setdatedialog = new Dialog(DropboxActivity.this);
public void onClick(View v) {
}
public boolean onTouch(View arg0, MotionEvent arg1) {
setdatedialog.setContentView(R.layout.datedialog);
setdatedialog.setTitle("select date of puchase");
setdatedialog.setCancelable(true);
setdatedialog.show();
Button back = (Button)setdatedialog.findViewById(R.id.back3);
back.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
setdatedialog.dismiss();
}
});
Button setdate=(Button)setdatedialog.findViewById(R.id.setdate);
DatePicker date = (DatePicker)setdatedialog.findViewById(R.id.datePicker1);
class MyOnDateChangedListener implements OnDateChangedListener {
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth){
et4.setText( "" + dayOfMonth + "-" + (monthOfYear + 1) + "-" + year );
}
};
date.init( year, monthOfYear, dayOfMonth, new MyOnDateChangedListener() );
return false;
}
您必须使用DatePickerDialog.onDateSetListener
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
String date_selected = (monthOfYear + 1) + "/" + dayOfMonth + "/"
+ year;
editText.setText(date_selected);
}
};
按常规创建对话框
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 1:
return new DatePickerDialog(this, mDateSetListener, cyear, cmonth,
cday);
}
return null;
}
用xml定义editText和Button,并在您的activity中定义以下代码:
editText=(EditText) findViewById(R.id.date);
button=(Button) findViewById(R.id.play);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
Calendar c=Calendar.getInstance();
mYear=c.get(Calendar.YEAR);
mMonth=c.get(Calendar.MONTH);
mDay=c.get(Calendar.DAY_OF_MONTH);
现在添加这两个函数来调用DatePicker对话框并在Edittext中设置日期
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this,
mDateSetListener,
mYear, mMonth, mDay);
}
return null;
}
private DatePickerDialog.OnDateSetListener mDateSetListener =new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
editText.setText(new StringBuilder().append(mDay).append("/").append(mMonth+1).append("/").append(mYear));
}
};
全局定义:
static final int DATE_DIALOG_ID = 0;
private int mYear,mMonth,mDay;
这将帮助您在编辑文本中设置日期。希望这将对您有所帮助。
我试图在EditText中设置文本,但它说: 我的代码如下: 不要说用< code>setText,因为我用的是kotlin,不是Java。
我正在android studio中使用java开发和应用程序,希望在RecyclerView函数中编辑文本。我该怎么做?
问题内容: 我的项目的一部分是编写一个文本编辑器,该文本编辑器用于键入一些规则,编译我的应用程序并运行它。编写编译器是结束并发布beta版。在最终版本中,我们必须将撤消和重做添加到文本编辑器中。我使用一个文件,并定期将其保存为文本编辑器。如何设计文本编辑器的撤消和重做?文件的持久性结构发生了什么变化? 问题答案: 您可以将操作建模为命令,并保存在两个堆栈中。一个用于撤消,另一个用于重做。您可以编写
编辑文本 要选择一种文字图层,请执行下列操作之一: 选择“移动”工具 并在画布上双击文字图层。 选择横排文字工具 或竖排文字工具。在“图层”面板中选择文字图层,或者单击文本流以自动选择文字图层。 在文本中定位到插入点,然后执行下列操作之一: 单击以设置插入点。 选择要编辑的一个或多个字符。 根据需要输入文本。 要将更改应用到文字图层,请执行下列操作之一: 选择一个新工具。 在“图层”面板中单击某个
是否可以使可单击但不可编辑。 我不希望它是可编辑的(键盘也不应该出现,我们也不应该改变提示) 实际上,我只想使用编辑文本作为带有提示的图像(不能更改)。我知道实际的方法是使用一个和一个,但我希望它尝试使用,因为这样我将只使用一个视图,而不是2个。而且每件事都是动态的,所以没有XML。 对于上述需求,XML中的解决方案是android:editable=“false”,但我想在Java中使用它。 但
我正在编辑其中我必须在输入用户的身高,如(5'6)(5'11)(英尺英寸)等。现在,当我在输入第一个字符时,一个撇号会自动添加到的第二个位置(上)。 问题是,当我试图擦除字符时,它不会在第一个位置之后擦除,因为当< code>EditText长度为1时,它会在第二个位置添加一个< code>'。 我该如何解决这个问题?请与我分享任何解决方案。 对不起我的英语不好