Я начал использовать stackmob для разработки Android. И я пошел в проблему. В самом деле, после создания интерфейса для входа в систему я хотел, чтобы моя домашняя страница запрашивала имя пользователя, которое было зарегистрировано в верхней части страницы.Android Stackmob: Запрос информации о пользователе
Таким образом, я использовал getloggedInUser (класс < T>, stackMobCallBack < T>) для получения моего пользователя. Первая проблема заключалась в том, что я не смог получить этого пользователя за пределами обратного вызова. Поэтому я создал метод, который я вызываю из callBack пользовательского метода getloggedin. Там я пошел в другой вопрос; действие этого метода не повлияло на мое мнение. Действительно, когда запрашивается домашняя страница, текст остается неизменным (не приспосабливаясь к зарегистрированному пользователю). Странно, что если я уменьшу свое приложение и затем его возобновит, текст будет обновлен. Вот мой код:
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
StackMobAndroid.init(getApplicationContext(), 0,
"XXXXX.XXXXXX.XXXXX");
TextView welcomeText = (TextView) findViewById(R.id.welcomeHead);
User.getLoggedInUser(User.class,new StackMobQueryCallback<User>(){
public void failure(StackMobException e) {
// TODO Auto-generated method stub
}
public void success(List<User> list) {
User loggedUserf = list.get(0);
setMyAppUser(loggedUserf);
finish();
}
});
public void setMyAppUser(User user){
String welcome = welcomeText.getText().toString();
welcome = welcome+" "+user.getUsername();
welcomeText.setText(welcome);
}
}
Я застрял на нем в течение длительного времени, и я думаю, что проблема связана с тем, что обратным вызовом является асинхронным методом, но я использовал все виды вещей, как invalidate или postinvalidate на моем представлении для его исправления ... ничего не получилось.
Большое спасибо Ардо за это объяснение. Я завтра выберу, чтобы увидеть, как он работает над моим приложением или нет, и тогда я буду отмечать его как решение. И спасибо за этот очень полезный отзыв :) – Pclaverie