【发布时间】:2017-05-26 07:18:30
【问题描述】:
我创建了一个ListView,在每个项目中都有一个PopupMenu。我创建了一个menu layout 并将其用作我的PopupMenu。我的问题是每次单击ListView 项目中的省略号选项时,PopupMenu 都会显示为Text,但Icon 没有出现。
这是我的 xml 菜单:
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_retry"
android:icon="@drawable/retry"
android:title="@string/retry"
app:showAsAction="always"
/>
<item
android:id="@+id/action_delete"
android:icon="@drawable/delete"
android:title="@string/delete"
app:showAsAction="always"
/>
</menu>
然后在我的Adapter 中我的ListView 是这样的:
public class MyListViewAdapter extends BaseAdapter implements MenuItem.OnMenuItemClickListener {
.....
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = activity.getLayoutInflater();
convertView = inflater.inflate(R.layout.mylistrow, null);
}
final View action = (View) convertView.findViewById(R.id.action);
action.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
showPopup(action, position);
}
});
// ....codes for listview creation....
return convertView;
}
public void showPopup(View v, int listItemPosition) {
PopupMenu popup = new PopupMenu(mContext, v);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.outbox_menu, popup.getMenu());
popup.show();
}
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_retry:
return true;
case R.id.action_delete:
return true;
default:
return false;
}
}
提前感谢您的帮助。
【问题讨论】:
-
同样,我的图标没有显示出来
标签: android listview popupmenu