Pergunta

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?

Foi útil?

Solução

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()

Outras dicas

It seems like you have already finished; your previous Activity. Remove finish() from MainActivity where you got to your aboutActiivty.

You can call onBackPressed() function on btnclick and then can define the following code at end in your class:

  @Override
    public void onBackPressed() {
        super.onBackPressed();
        Intent intent = new Intent(this, YourActivity.class);
        startActivity(intent);
    }

hope this will help you.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top