我创建了一个带有toolbar和recyclerview的活动,为recyclerview实现了选择选项,选择列表项后我需要更新工具栏中的所选项目数。我正在尝试通过使用
来实现这一点 @Override
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
// Inflate a menu resource providing context menu items
MenuInflater inflater = actionMode.getMenuInflater();
inflater.inflate(R.menu.menu_cab_recyclerviewdemoactivity, menu);
return true;
}
现在选择了Recyclerview项目,在工具栏上方添加了额外的操作栏,这里是屏幕http://screencast.com/t/UY2KSs9r
答案 0 :(得分:1)
如果您只想更新工具栏中的计数,则只需更新标题
即可final ActionBar ab = getSupportActionBar();
if(ab!=null)
ab.setTitle(stringVariable);
我不确定你还想做什么,所以现在这是我的答案。
答案 1 :(得分:1)
首先删除默认的ActionBar
编辑你的style.xml
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme colors here. -->
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<!-- Disables the Default ActionBar -->
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
然后在main_activity_layout.xml中,删除根 RelativeLayout 标记上的任何填充。
下一步
<android.support.v7.widget.Toolbar
android:id="@+id/mainToolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/main_settings_btn"
android:background="@drawable/ic_settings"
android:backgroundTint="@color/accent"
android:contentDescription="Copy"/>
<ImageButton
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_gravity="right"
android:layout_marginRight="10dp"
android:background="@drawable/ic_points"
android:backgroundTint="@color/accent"
android:contentDescription="Paste"/>
</android.support.v7.widget.Toolbar>
...... <your_code_here_possibly_recyclerview>
这解决了您额外的工具栏问题。
下一步
private Toolbar toolbar; // Declaring the Toolbar Object
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.mainToolbar); // Attaching the layout to the toolbar object
setSupportActionBar(toolbar); // Setting toolbar as the ActionBar with setSupportActionBar() call
// Now whenever you want to update the title just change text in below
getSupportActionBar().setTitle("My title");
}