onDrawerOpened导航抽屉并在导航抽屉上设置textView

时间:2014-11-18 05:35:01

标签: java android navigation-drawer

我试图在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,如果不是,那么如何实现呢?

1 个答案:

答案 0 :(得分:1)

您需要使用,

Drawer mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

runOnUiThread(new Runnable() {
    @Override
    public void run() {
        //Update Text View Here.
        mDrawerLayout.invalidate();
    }
});

invalidate()调用将重绘抽屉布局。