Android 编辑触摸文本

Android 编辑触摸文本,android,touch,android-edittext,Android,Touch,Android Edittext,我有一个DateTimePicker,它有一个“amount”编辑文本,我保存了SharedRef 但由于某种原因,如果我“触摸”编辑文本并手动输入金额,文本为黑色,不会传输到文本视图,如果使用图像按钮增加和减少,编辑文本将按预期工作。如果我以这种方式输入日期和时间,虽然它确实有效,但我遗漏了什么 ImageButton increase = (ImageButton)mDateTimeDialogView.findViewById(R.id.increase); increase.setOnC

我有一个DateTimePicker,它有一个“amount”编辑文本,我保存了SharedRef 但由于某种原因,如果我“触摸”编辑文本并手动输入金额,文本为黑色,不会传输到文本视图,如果使用图像按钮
增加
减少
,编辑文本将按预期工作。如果我以这种方式输入日期和时间,虽然它确实有效,但我遗漏了什么

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字段并输入say
18
来输入值,则无法保存或显示输入。因此,您想做的是,当您完成编辑
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)
  {}
});