Android重新加载导航抽屉片段

时间:2015-04-01 05:47:07

标签: android navigation-drawer

我的导航栏中有“登录”选项。登录后我希望它显示Logout。导航抽屉物品也可以向左拉伸。登录完成后,我可以重新加载/刷新/重新初始化导航抽屉吗?

3 个答案:

答案 0 :(得分:1)

您可以为导航区域定义布局,如下所示:

<android.support.v4.widget.DrawerLayout>
<RelativeLayout>
   ....
    <ListView
       ...
        android:id="@+id/navigation_list"/>
    </ListView>
</RelativeLayout>

</android.support.v4.widget.DrawerLayout>

在您的代码中,您现在可以使用Adapter并根据需要填写列表内容,更新适用于notifyDataSetChanged。 对于List的每个条目,您可以定义特定的布局(带或不带按钮等)

答案 1 :(得分:1)

成功登录后,您可以从适配器获取视图。

获取该imageview或任何其他视图更改图像

ImageView imageView=(ImageView)getViewByPosition(pos,listview);
imageView.setImageResource(R.drawable.new_image);


public View getViewByPosition(int pos, ListView listView) {
    final int firstListItemPosition = listView.getFirstVisiblePosition();
    final int lastListItemPosition = firstListItemPosition + listView.getChildCount() - 1;

    if (pos < firstListItemPosition || pos > lastListItemPosition ) {
        return listView.getAdapter().getView(pos, null, listView);
    } else {
        final int childIndex = pos - firstListItemPosition;
        return listView.getChildAt(childIndex);
    }
}

答案 2 :(得分:1)

您可以使用两种方法将数据加载到导航抽屉列表视图中,一个用于登录,一个用于注销,每当您创建活动时,请检查您的会话并根据该加载列表视图。同样,当您登录时,您可以从另一个活动调用注销方法并刷新naviagtion抽屉。