根据总点击次数更改按钮点击的内容

时间:2015-02-01 07:27:43

标签: java android algorithm android-button

我想知道是否有更优雅的方式来实现以下内容。我有一个按钮,可以在第一次单击时显示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文本,而是实现这样一个功能的最佳方式。

1 个答案:

答案 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);
    }
}