0

Being brand new to Java I'm not sure why this when called with android:onClick="changeInfo" isn't changing the text view back to the original value.

public class JavaTest extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_java_test);
}
public void changeInfo(View view){
    setContentView(R.layout.activity_java_test);
    TextView t = (TextView)findViewById(R.id.textSpace1);
    if (t.getText()==getResources().getString(R.string.lorem_ipsum)){
        t.setText("[Email Here]");
    }
    else{
        t.setText(getResources().getString(R.string.lorem_ipsum));
    }
}

Could anyone help, thank you.

2 Answers2

1

Try removing setContentView(R.layout.activity_java_test); from the changeInfo(View view) method.

Charlie
  • 2,876
  • 19
  • 26
0

setContentView(R.layout.activity_java_test);

  • You don't have to call setContentView inside changeInfo method

t.getText()==getResources().getString(R.string.lorem_ipsum)

  • it should be t.getText().toString().equeals(getResources().getString(R.string.lorem_ipsum))

Try this

  public class JavaTest extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_java_test);
}
public void changeInfo(View view){

    TextView t = (TextView)findViewById(R.id.textSpace1);
    if (t.getText().toString().equeals(getResources().getString(R.string.lorem_ipsum))){
        t.setText("[Email Here]");
    }
    else{
        t.setText(getResources().getString(R.string.lorem_ipsum));
    }
}
Darish
  • 11,032
  • 5
  • 50
  • 70