我想知道是否有更优雅的方式来实现以下内容。我有一个按钮,可以在第一次单击时显示EditText然后实现以管理输入到文本字段中的文本。
我正在使用计数器来确定使用if在我的onClick
事件中发生的操作。我想知道是否有更好的方法来做到这一点?
xml:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CLICK ME"
android:onClick="clickMe"/>
<EditText
android:id="@+id/mEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="EDIT TEXT"
android:visibility="gone"/>
java:
static int clickCount =0;
public void clickMe (View view){
if(clickCount==0) {
EditText editText = (EditText) findViewById(R.id.mEditText;
mEditText.setVisibility(View.VISIBLE);
}
else{
Toast.makeText(getApplicationContext(), "Testing this method", Toast.LENGTH_LONG).show();
//TO DO SOMETHING MORE SIGNIFICANT.
}
clickCount++;
}
基本上,我想发生什么事情并不重要,即EditText的可见性和处理EditText文本,而是实现这样一个功能的最佳方式。
答案 0 :(得分:1)
我想知道是否有更好的方法可以做到这一点?
是的,还有更好的方法。忘记保留clickCount
。只需测试事件处理程序中mEditText
的可见性。
public void clickMe (View view){
EditText mEditText = (EditText) findViewById(R.id.mEditText);
if (mEditText.getVisibility() == View.VISIBLE) {
//TO DO
} else {
mEditText.setVisibility(View.VISIBLE);
}
}