У меня есть Activity, в методе onCreate() которого я вызываю служебную функцию. Для этой служебной функции требуется экземпляр класса обратного вызова в качестве параметра, в котором он возвращает нужную мне информацию. Это:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Utility.functionA(new functionACallBack() {
/**
*
*/
private static final long serialVersionUID = -7896922737679366614L;
@Override
public void onResponse(String error) {
((MyActivity) AppClass.getAppContext()).finish();
}
});
}
Как только я получу эту информацию, я хочу закрыть действие. поэтому я вызвал finish() из анонимного класса, который я создал для обратного вызова.
Но деятельность не заканчивается. Я подумал, может быть, мне нужно вызвать finish() из потока пользовательского интерфейса, поэтому я сделал runOnUiThread(), внутри него я также попытался вызвать finish(). Но это просто не работает.
Может ли кто-нибудь помочь мне с этой проблемой?
ОБНОВИТЬ:
Я сохраняю контекст приложения, а затем пытаюсь его использовать, но безрезультатно.
public class AppClass extends Application {
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
AppClass.mContext = getApplicationContext();
}
public static Context getAppContext(){
return AppClass.mContext;
}
}
YourActivity.finish()
? - person nKn   schedule 13.03.2014static
в вашемActivity
, которая вызоветYourActivity.finish()
и вызовет эту функцию в вашем методеonResponse()
. - person nKn   schedule 13.03.2014