第二次单击返回原始文本

时间:2014-11-12 16:36:55

标签: java android xml button

我是Java和xml的新手,我遇到了一个问题。我已经创建了一个显示文本的应用程序,然后当按下按钮时它会更改文本,我有的问题是我希望文本在我第二次按下按钮时返回到原始文件

        final TextView ad1 = (TextView) findViewById(R.id.t5);
          final Button b1 = (Button) findViewById(R.id.b1);

            b1.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                  // Perform action on click
                   ad1.setText("random text");

                 }
            });
             }

        <TextView
            android:id="@+id/t5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_below="@+id/t4"
            android:layout_margin="5dp"
            android:gravity="center"
            android:text="@string/t5" 
            android:textColor="#ffffff"/>

         <Button
            android:id="@+id/b1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/t5"
            android:layout_centerHorizontal="true"
            android:layout_margin="10dp"
            android:layout_marginTop="14dp"
            android:text="@string/b1"
            android:textColor="#ffffff" />

2 个答案:

答案 0 :(得分:1)

试试这个:

b1.setOnClickListener(new View.OnClickListener()
{
   private String originalText = null;

    public void onClick(View v)
    {
        if (originalText == null) originalText = ad1.getText().toString();

        if (ad1.getText().toString().equals(originalText))
        {
            // Setting a new text
            ad1.setText("random text");
        }
        else
        {
            // Setting back the original text
            ad1.setText(originalText);
        }
    }
});

答案 1 :(得分:0)

这就是诀窍。

String newString = "Whoa!";
String lastString;


public void action_Clicked(View view){
    switch(view.getId()){

    case R.id.button1:
        exchange();
        break;

    }
}

private void exchange(){
    lastString = text.getText().toString();
    text.setText(newString);
    newString = lastString;
}