Java Android:单击后更改actionbar图标,并在onCreate()后将其更改回
我尝试在Java Android:单击后更改actionbar图标,并在onCreate()后将其更改回,java,android,android-layout,android-actionbar,Java,Android,Android Layout,Android Actionbar,我尝试在onoptionItemSelected(MenuItem)方法中将操作栏的图标更改为进度栏 public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; case R.id
onoptionItemSelected(MenuItem)
方法中将操作栏的图标更改为进度栏
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
case R.id.progressitem2:
mProgress = item;
mProgressCreate = mProgress;
mProgress.setActionView(R.layout.progress);
mLayout.removeView(mTable);
// Execute code that change mTable again.
return true;
}
progress.xml文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:addStatesFromChildren="true"
android:focusable="true"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:gravity="center" >
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="true"
style="@android:style/Widget.ProgressBar.Small"/>
</LinearLayout>
action_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/progressitem2"
android:icon="@drawable/ic_action_refresh"
android:title="Reload"
android:showAsAction="ifRoom|withText"
android:visible="true" />
</menu>
但这不起作用
这里怎么了
问候,,
桑德罗我找到了解决办法。在使用
mProgress.setActionView(mProgressCreate.getActionView())重置操作视图之前,我只是忘记调用invalidateOptions菜单()
代码>
一切正常:-)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/progressitem2"
android:icon="@drawable/ic_action_refresh"
android:title="Reload"
android:showAsAction="ifRoom|withText"
android:visible="true" />
</menu>
mProgress.setActionView(mProgressCreate.getActionView());
invalidateOptionsMenu();
mProgress.setActionView(mProgressCreate.getActionView());