在onclicklistener中安装android clear edittext

时间:2014-07-26 12:42:04

标签: android android-edittext

我有一个edittext。我的edittext settext第一次是1,我想在editttext click中清除此文本并输入新的键盘值 我写了代码但没有工作

price_counter = (EditText) rootView
            .findViewById(R.id.strada_price_counter);
price_counter.setText("1");

price_counter.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        price_counter.setText("");

    }
});


<EditText
        android:id="@+id/strada_price_counter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/strada_buy_btn"
        android:layout_marginLeft="18dp"
        android:layout_toRightOf="@+id/strada_buy_btn"
        android:background="@drawable/input_value"
        android:gravity="center"
        android:inputType="number">
</EditText>

如果有人知道解决方案,请使用此代码,请帮助我

3 个答案:

答案 0 :(得分:1)

您不应该在setOnClickListener上致电EditText。注册单击监听器以获取按钮,并在按钮单击时调用settext EditText

答案 1 :(得分:0)

将您的代码更新为以下内容:

price_counter.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        ((EditText)v).setText("");
    }
});

答案 2 :(得分:0)

尝试此代码......这可能是您正在寻找

public class MainActivity extends Activity implements OnTouchListener 
{
    EditText et;
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et=(EditText)findViewById(R.id.editText1);
        et.setText("1");
        et.setOnTouchListener(this);
    }
    @Override
    public boolean onTouch(View v, MotionEvent event) 
    {
        // TODO Auto-generated method stub
        if(event.getAction() == MotionEvent.ACTION_DOWN)
        {
            et.setText("");
        }
        return false;
    }

}