내 NavigationDrawerAdapter에 정의 된 TextView에서 Parse.com의 데이터를 재설정하려고합니다. 그렇게하는 가장 쉬운 방법은 내 MainActivity의 onDrawerOpened에서 그렇게하는 것이고 사용자가 로그인 또는 로그 아웃 할 수 있도록 매번 확인하는 것이라고 가정합니다. 문제는 텍스트가 설정되지 않았기 때문입니다. 그래서 같은 NavigationDrawerAdapter의의 getView()에 위치한 년대 MainActivity에서 레이아웃을 호출하려고 해요 :onDrawerOpened 탐색 창고 및 설정 textView on 탐색 드로어
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를 설정할 수 없습니까? 그렇다면 어떻게 수행 할 수 있습니까? invalidate()
호출이 서랍 레이아웃을 다시 그린다
Drawer mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
runOnUiThread(new Runnable() {
@Override
public void run() {
//Update Text View Here.
mDrawerLayout.invalidate();
}
});
당신은 사용해야합니다
텍스트를 수신했는지 여부에 관계없이 "완료"기능을 선택 했습니까? –
예 로그 문을 추가하고 로그인했는지 여부에 따라 매번 텍스트를 올바르게 반환합니다. 업데이트되지 않습니다. View convertView 행에 null을 뷰 루트로 전달하지 않도록 경고하는 경고가 표시됩니다. – Joey