ActionBar 在特定的Fragment区域中显示数据(ActionBar display a item in an specific Fragment?)

文章标签: andorid
2014-12-15 9:23:51     人阅读    

 

我现在ActionBar有一个 fragment,我现在想在  该fragment处于可见状态的时候展示一个item,item包含一个聊天图片,我想把item放到ActionBar的右边展示

如果在 Fragment 可见的时候展示 item?

我试过如下代码
<!--聊天室按钮 Item -->
   

<item
        android:id="@+id/action_chat"
        android:icon="@drawable/batalha_icon_chat"
        android:title="Chat"
        app:showAsAction="never"
        />

ActionBar

public class ChatFrag extends Fragment implements View.OnClickListener {

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.chat, container, false);

        /** action bar */
        ActionBar actionBar = ((CustomDrawerLayout)getActivity()).getSupportActionBar();
        actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.action_bar)));
        actionBar.setTitle("Chat with your opponent");

return rootView();

}


 

处理方法

最佳答案:
我做过与你请客类似的发送按钮,我的做法如下
在 menu_recipients.xml,中添加如下的xml配置

 

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.ui.RecipientsActivity">
<item android:id="@+id/action_send"
android:title="@string/action_send"
android:orderInCategory="100"
android:showAsAction="always"
android:visible="false"
android:icon="@drawable/ic_menu_send"/>
</menu>

java代码中如下

protected MenuItem mSendMenuItem;

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_recipients, menu);
mSendMenuItem = menu.getItem(0);
return true;
}

protected AdapterView.OnItemClickListener mOnItemClickListener =
new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (mGridView.getCheckedItemCount() > 0) { // 把这里换成你的 Fragment 检测
mSendMenuItem.setVisible(true);
} else {
mSendMenuItem.setVisible(false);
}
}
};


原文地址:http://www.itmmd.com/201412/318.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

ArrayAdapter getView 返回 NullPointerException -   上一篇
下一篇  android SqlLite 报错 SQLiteOpenHelper.getDatabaseLocked - SQLiteOpenHelper.getReadableDatabase
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!