Android 编辑触摸文本
我有一个DateTimePicker,它有一个“amount”编辑文本,我保存了SharedRef 但由于某种原因,如果我“触摸”编辑文本并手动输入金额,文本为黑色,不会传输到文本视图,如果使用图像按钮Android 编辑触摸文本,android,touch,android-edittext,Android,Touch,Android Edittext,我有一个DateTimePicker,它有一个“amount”编辑文本,我保存了SharedRef 但由于某种原因,如果我“触摸”编辑文本并手动输入金额,文本为黑色,不会传输到文本视图,如果使用图像按钮增加和减少,编辑文本将按预期工作。如果我以这种方式输入日期和时间,虽然它确实有效,但我遗漏了什么 ImageButton increase = (ImageButton)mDateTimeDialogView.findViewById(R.id.increase); increase.setOnC
增加和减少,编辑文本将按预期工作。如果我以这种方式输入日期和时间,虽然它确实有效,但我遗漏了什么
ImageButton increase = (ImageButton)mDateTimeDialogView.findViewById(R.id.increase);
increase.setOnClickListener(new OnClickListener(){
public void onClick(View v){
amountt++;
amountText = Integer.toString(amountt);
amountedit.setHint(amountText);
amnt.setText(amountText);
editor.putString("numbers", amountText);
editor.commit();
}
});
ImageButton decrease = (ImageButton)mDateTimeDialogView.findViewById(R.id.decrease);
decrease.setOnClickListener(new OnClickListener(){
public void onClick(View v){
amountt--;
amountText = Integer.toString(amountt);
amountedit.setHint(amountText);
amnt.setText(amountText);
editor.putString("numbers", amountText);
editor.commit();
}
});
相关编辑文本信息
amountedit=(EditText)mDateTimeDialogView.findViewById(R.id.amountedit);
它显示到的文本视图
amnt = (TextView)findViewById(R.id.amountText);
EditText的XML
<EditText
android:id="@+id/amountedit"
android:layout_width="50dp"
android:key = "amntkey"
android:layout_height="wrap_content"
android:layout_above="@+id/linearLayout1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="62dp"
android:ems="10"
android:inputType="number"
android:persistent="true" />
你的代码不清楚,你应该发布你正在谈论的编辑文本的代码
顺便说一句,为了得到您想要的,您可以尝试执行SharedRef的编辑和提交
当EditText的文本发生更改时,尽管这是一个糟糕的设计
您需要一个文本更改侦听器
EditText.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{}
@Override
public void afterTextChanged(Editable s)
{}
});
对不起,你的问题还是不清楚,你能再解释一下吗?!以及增加和减少图像按钮,它们是否与您上面提到的up
和down
按钮相同?!是的,对不起,它们是一样的,我会编辑它们。因此,如果我使用为EditText创建的增加
和减少
图像按钮,EditText的输入将保存到我的编辑器中,并显示在所需的文本视图上,但是由于某些原因,如果我通过直接单击edittext字段并输入say18
来输入值,则无法保存或显示输入。因此,您想做的是,当您完成编辑edittext
时,您想让它直接将值添加到TextView
,而无需单击按钮?!否否,setbtn
通过SharedPrefs等添加值,唯一的问题是当我通过直接单击EditText输入EditText值时,它不会保存/显示等,但是,如果我使用我的增加
&减少
按钮输入EditText值,它的保存/显示就很好了?我更新了原始问题,我希望它足够了,它是EditText上的所有内容。当EditText的文本被更改时,您需要一个文本更改侦听器来执行操作…而且,这可能会让你的ImageButton出现竞争条件或循环事件,你需要更多的代码来克服这一点{
我不知道把其余的放在哪里或者放什么?只需按照ImageButton的onClick中所做的做,但是如果ImageButton更改了EditText的文本,请做一个标记,不要再做任何事情。仅此而已:-)
EditText.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{}
@Override
public void afterTextChanged(Editable s)
{}
});