我试图在NavigationDrawerAdapter中定义的TextView上重置Parse.com中的数据。我假设最简单的方法是在我的MainActivity中的onDrawerOpened中这样做,以便每次检查它以确保用户登录或注销。问题是文本没有设置。我尝试从位于NavigationDrawerAdapter的getView()中的MainActivity调用布局,如下所示:
public void onDrawerOpened(View drawerView)
{
super.onDrawerOpened(drawerView);
ParseUser.getCurrentUser().fetchInBackground(new GetCallback<ParseUser>() {
@Override
public void done(ParseUser user, ParseException arg1) {
LayoutInflater mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View convertView = mInflater.inflate(R.layout.navigation_drawer_list_object, null);
TextView username = (TextView) convertView.findViewById(R.id.txtvDrawerFirstItemText1);
username.setText(user.getUsername());
}
});
getActionBar().setTitle(mDrawerTitle);
}
为什么这不起作用的任何想法?我是否可以不在MainActivity中设置我的NavigationDrawerAdapters getView中的TextView,如果不是,那么如何实现呢?
答案 0 :(得分:1)
您需要使用,
Drawer mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
runOnUiThread(new Runnable() {
@Override
public void run() {
//Update Text View Here.
mDrawerLayout.invalidate();
}
});
invalidate()
调用将重绘抽屉布局。