【问题标题】:can not change default drawable icon无法更改默认可绘制图标
【发布时间】:2017-08-25 10:01:37
【问题描述】:

我将此库用于幻灯片菜单https://github.com/jfeinstein10/SlidingMenu 无法更改 SampleListFragment 类中的默认可绘制图标 并给我错误无法解决或不是字段

public class SampleListFragment extends ListFragment {

        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            return inflater.inflate(R.layout.list, null);
        }

        public void onActivityCreated(Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
            SampleAdapter adapter = new SampleAdapter(getActivity());
            for (int i = 0; i < 4; i++) {
                adapter.add(new SampleItem("Sample List", android.R.drawable.ic_menu_call));
            }
            setListAdapter(adapter);
        }

        private class SampleItem {
            public String tag;
            public int iconRes;
            public SampleItem(String tag, int iconRes) {
                this.tag = tag; 
                this.iconRes = iconRes;
            }
        }

        public class SampleAdapter extends ArrayAdapter<SampleItem> {

            public SampleAdapter(Context context) {
                super(context, 0);
            }

            public View getView(int position, View convertView, ViewGroup parent) {
                if (convertView == null) {
                    convertView = LayoutInflater.from(getContext()).inflate(R.layout.row, null);
                }
                ImageView icon = (ImageView) convertView.findViewById(R.id.row_icon);
                icon.setImageResource(getItem(position).iconRes);
                TextView title = (TextView) convertView.findViewById(R.id.row_title);
                title.setText(getItem(position).tag);

                return convertView;
            }

        }
    }

【问题讨论】:

  • 你的日志输出在哪里?发生哪一行错误?如果你添加它们,它会很容易回答。
  • 无法解析或不是在线适配器。add(new SampleItem("Sample List", android.R.drawable.ic_menu_call));
  • 删除“安卓”。并将其设为“R.drawable.ic_menu_call”,然后重试。

标签: android slidingmenu


【解决方案1】:

您正在更改搜索图标

adapter.add(new SampleItem("Sample List", android.R.drawable.ic_menu_search));

请注意

android.R.drawable.ic_menu_search

默认资源来自内部库,因此它使用的是

android.R.drwable.resource_name

你需要把它改成

R.drwable.resource_name

你终于有了

adapter.add(new SampleItem("Sample List",  R.drawable.resource_name));

【讨论】:

  • 当改变它给我的错误无法解决或不是一个字段
  • 可能是 R.java 文件没有创建。你能改变其他图标吗?还是没有人改变?
  • 清理你的项目并重建,也许 R.java 没有被重建。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-30
  • 1970-01-01
  • 2014-11-05
  • 2018-05-23
  • 2012-05-07
相关资源
最近更新 更多