我有一个可以填充的edittext表单,我想在文本的onClick上清除它,所以我将一个onClick转到main中的clear函数。
但是,我不知道如何正确定位我想要的edittext。我想清除其中的两个。
public void clear(View v) {
@+id/toptext.setText("");
}
这是该特定文本的XML。
<TextView
android:id="@+id/toptext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#303030"
android:text="@string/toptext"
android:textAppearance="?
android:attr/textAppearanceLarge"
android:textColor="#33B5E5"
android:textSize="50sp"
android:onClick="clear" />
答案 0 :(得分:2)
使用xml布局中的EditTexts的id
创建EditTexts的实例。然后对它们使用setText
并将它们留空。
public void clear(View v) {
EditText et = (EditText)findViewById(R.id.theIdOfYourEditText);
EditText et2 = (EditText)findViewById(R.id.theIdOfYourOtherEditText);
et.setText("");
et2.setText("");
}
编辑由于某种原因,上述方法无效。这是最终的解决方案:
// Put one of these in your onCreate method:
TextView tt = (TextView)findViewById(R.id.toptext);
tt.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
EditText et = (EditText)findViewById(R.id.theIdOfYourEditText);
EditText et2 = (EditText)findViewById(R.id.theIdOfYourOtherEditText);
et.setText("");
et2.setText("");
return true;
}
});
// or
TextView tt = (TextView)findViewById(R.id.toptext);
tt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText et = (EditText)findViewById(R.id.theIdOfYourEditText);
EditText et2 = (EditText)findViewById(R.id.theIdOfYourOtherEditText);
et.setText("");
et2.setText("");
}
});
答案 1 :(得分:1)
试试这个:
TextView tv = (TextView) findViewById(R.id.toptext);
tv.setText("Whatever you want!");
答案 2 :(得分:1)
您可以使用此代码:
public void clear(View v) {
if (v.getId() == R.id.toptext) {
((EditText) v).setText(null);
}
}
同样,为另一个EditText添加另一个if条件。
答案 3 :(得分:0)
首先,通过调用findViewById:
来引用TextViewTextView textView = (TextView) findViewById(R.id.toptext);
然后用它来清除:
textView.setText("");
答案 4 :(得分:0)
我认为不应该设置“”,而应该使用null作为。
TextView textView = (TextView) findViewById(R.id.toptext);
textView.setText(null);
答案 5 :(得分:0)
使用传递给param
(onClick()
)
v
public void clear(View v)
{
((TextView)v).setText("");
}
假设您要清除TextView
中附有onClick
的文字。传入View
的{{1}}是点击的clear()
,因此您只需将其投放到相应的View
(View
),然后就可以正常使用它
因此,这将清除单击TextView
的文本。