2013-02-19 3 views
1

Im пытается вернуться из о диалоге с основной деятельностью по нажатию кнопки:как вернуться к предыдущей деятельности примерно с нажатием кнопки?

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

Я попытался как закончить() и onBackPressed() без каких-либо результатов, я делаю что-то неправильно кто-то может дать мне некоторые намеки?

+2

Является ли ваш 'OnClick()' прикрепленный к кнопке, в некотором роде, который не показан, через XML или код не показали? Что происходит, когда вы нажимаете на кнопку, я предполагаю, что ничего нет? – codeMagic

ответ

0

Из того, что я вижу в вашем коде, у вас нет кнопки, прикрепленной к вашему методу onClick(). Вы можете сделать это двумя способами, в xml или программно.

В XML

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

Затем в коде, определить свою функцию, которую вы назвали в вашем XML

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

Программным способом, объявить кнопку

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

Если у вас есть уже приложите вашу кнопку к onClick() каким-либо образом, не показанному, тогда вы можете быть fi замалчивая вашу основную деятельность. В этом случае, описать, что происходит при нажатии на кнопку, и показать свою активность Главной

Docs for OnClickListener()

+0

Извините, я подумал, что это будет слушать любую кнопку и что она будет идентифицирована переменной onClick (View arg0). Теперь он работает, спасибо! –

+0

Нет, он должен быть подключен к слушателю каким-то образом, чтобы функция знала, на какой кнопке запускается этот код, иначе вы не сможете использовать несколько 'onClick()' s в 'Activity'. Рад, что я смог помочь – codeMagic

1

Кажется, что вы уже закончили; вашей предыдущей деятельности. Удалите финиш() из MainActivity, где вы добрались до своего aboutActiivty.

1

Вы можете вызвать функцию onBackPressed() на btnclick и затем можно определить следующий код в конце в своем классе:

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

надеюсь, что это поможет.