how to return to previous activity from about with a button click?

João Terramoto picture João Terramoto · Feb 19, 2013 · Viewed 10.1k times · Source

Im trying to return from the about dialog to the main activity by a button click:

public class AboutActivity extends Activity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.about);
}

@Override
public void onClick(View arg0) {
    // TODO Auto-generated method stub
    SharedPreferences prefs = getSharedPreferences("com.example.tiocontas",MODE_PRIVATE);
    SharedPreferences.Editor prefsEditor = prefs.edit();
    prefsEditor.putBoolean("FirstTime", false);
    finish();
    //this.onBackPressed();
}
}

I've tried both finish() and onBackPressed() with no results, im doing something wrong could someone give me some hints?

Answer

codeMagic picture codeMagic · Feb 19, 2013

From what I can see in your code, you don't have a button attached to your onClick() method. You can do this two ways, in xml or programmatically.

In xml

<Button
...
android:onClick="functionName"/>

Then in your code, define your function which you named in your xml

public void functionName(View v)
{
  // some code
  finish();
}

Programmatically, declare your button

Button aBtn = (Button) findViewById(R.id.button_id);
aBtn.setOnClickListener(new OnClickListener() {         
    @Override
    public void onClick(View v)
    {
      // some code
      AboutActivity.this.finish()
    }
});

If you have already attached your button to the onClick() in some way not shown then you may be finishing your main activity. In which case, describe what happens when you click the button and show your Main Activity

Docs for OnClickListener()