Java 如何在操作栏菜单项中设置图标?
下面是我的HomeActivity.java代码。我在操作栏上添加了两个菜单。我希望在actionProfile项中设置用户配置文件。我在谷歌上搜索了很多,但没有找到任何与我的问题相关的解决方案。我正在通过我的web服务使用volley获取用户配置文件url,我想在操作栏菜单中设置用户图像。我怎样才能做到这一点 home_menu.xmlJava 如何在操作栏菜单项中设置图标?,java,android,android-actionbar,android-volley,picasso,Java,Android,Android Actionbar,Android Volley,Picasso,下面是我的HomeActivity.java代码。我在操作栏上添加了两个菜单。我希望在actionProfile项中设置用户配置文件。我在谷歌上搜索了很多,但没有找到任何与我的问题相关的解决方案。我正在通过我的web服务使用volley获取用户配置文件url,我想在操作栏菜单中设置用户图像。我怎样才能做到这一点 home_menu.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://sch
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/actionProfile"
android:orderInCategory="100"
app:showAsAction="ifRoom"
android:icon="@drawable/profile"
android:title="Edit Profile">
</item>
<item
android:id="@+id/actionLogout"
android:orderInCategory="100"
app:showAsAction="ifRoom"
android:icon="@drawable/logout"
android:title="Logout"/>
</menu>
你这么早就试过搜索了吗?检查此
https://stackoverflow.com/questions/25911910/set-image-in-action-bar
我想在我的home\u menu.xml文件的特定项中设置图标。我正在从我的Web服务接收图像url。您是否尝试过使用.setIcon
并设置从图像url接收的可绘制内容?我使用了此“Picasso.with(ProfileActivity.this).load(AppConfig.profilePic+image).占位符(R.drawable.edit_profile).transform(new circlettransform()).fit()。转换为(user_profile_photo);“在我的个人资料活动中显示用户个人资料图像。但是我不知道如何在R.id.actionProfile中设置图像,或者如何访问此id来设置图像?你能发布上面的全部代码吗?
public class HomeActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.home_menu, menu);
MenuItem item = menu.findItem(R.id.actionProfile);
if (item != null) {
item.setIcon(R.drawable.profile);
}
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.actionProfile:
Intent intent = new Intent(HomeActivity.this, ProfileActivity.class);
startActivity(intent);
break;
case R.id.actionLogout:
logoutUser();
break;
default:
break;
}
return true;
}
}