首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >仅在较旧的模拟器上出现Android应用程序错误

仅在较旧的模拟器上出现Android应用程序错误
EN

Stack Overflow用户
提问于 2012-10-12 06:36:06
回答 1查看 218关注 0票数 0

我目前正在开发一个Android应用程序,虽然在Jelly Bean模拟器上一切正常,但在2.2模拟器上我得到了以下错误:

代码语言:javascript
运行
复制
10-11 22:26:35.853: E/AndroidRuntime(303): FATAL EXCEPTION: main
10-11 22:26:35.853: E/AndroidRuntime(303): android.view.InflateException: Binary XML file line #1: Error inflating class <unknown>
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.LayoutInflater.createView(LayoutInflater.java:513)
10-11 22:26:35.853: E/AndroidRuntime(303):  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:332)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
10-11 22:26:35.853: E/AndroidRuntime(303):  at com.android.iagrams.util.MyAdapter.getView(MyAapter.java:20)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.AbsListView.obtainView(AbsListView.java:1315)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.ListView.makeAndAddView(ListView.java:1727)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.ListView.fillDown(ListView.java:652)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.ListView.fillFromTop(ListView.java:709)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.ListView.layoutChildren(ListView.java:1580)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.AbsListView.onLayout(AbsListView.java:1147)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.View.layout(View.java:7035)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1125)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1042)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.View.layout(View.java:7035)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.View.layout(View.java:7035)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1125)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1042)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.View.layout(View.java:7035)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.View.layout(View.java:7035)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.ViewRoot.performTraversals(ViewRoot.java:1045)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.os.Looper.loop(Looper.java:123)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.app.ActivityThread.main(ActivityThread.java:4627)
10-11 22:26:35.853: E/AndroidRuntime(303):  at java.lang.reflect.Method.invokeNative(Native Method)
10-11 22:26:35.853: E/AndroidRuntime(303):  at java.lang.reflect.Method.invoke(Method.java:521)
10-11 22:26:35.853: E/AndroidRuntime(303):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-11 22:26:35.853: E/AndroidRuntime(303):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-11 22:26:35.853: E/AndroidRuntime(303):  at dalvik.system.NativeStart.main(Native Method)
10-11 22:26:35.853: E/AndroidRuntime(303): Caused by: java.lang.reflect.InvocationTargetException
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.widget.LinearLayout.<init>(LinearLayout.java:115)
10-11 22:26:35.853: E/AndroidRuntime(303):  at java.lang.reflect.Constructor.constructNative(Native Method)
10-11 22:26:35.853: E/AndroidRuntime(303):  at java.lang.reflect.Constructor.newInstance(Constructor.java:446)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.LayoutInflater.createView(LayoutInflater.java:500)
10-11 22:26:35.853: E/AndroidRuntime(303):  ... 36 more
10-11 22:26:35.853: E/AndroidRuntime(303): Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x2
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:463)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.View.<init>(View.java:2036)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.View.<init>(View.java:1834)
10-11 22:26:35.853: E/AndroidRuntime(303):  at android.view.ViewGroup.<init>(ViewGroup.java:285)
10-11 22:26:35.853: E/AndroidRuntime(303):  ... 40 more

据我所知,我没有使用任何Jelly Bean特定的功能,也不知道我得到的错误是什么。我确实有一个自定义的Adapter,但我并没有对它做太多的事情,我只更改了几个文本视图。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-12 06:56:32

将适配器更改为如下所示:

代码语言:javascript
运行
复制
public class MethodAdapter extends ArrayAdapter<Method> {

    LayoutInflater inflater;

    public MethodAdapter(Context context, int layout, int field, ArrayList<Method> methodsList) {
        super(context, layout, field, methodsList);
            inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER);
    }

    class ViewHolder {
        TextView bellName;
        TextView bellType;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder holder = null;
        if (convertView == null) {
                convertView = inflater.inflate(R.layout.your_item_layout, null);
                holder = new ViewHolder();
                holder.bellName = (TextView) row.findViewById(R.id.bellName);
            holder.bellType = (TextView) row.findViewById(R.id.bellType);
                convertView.addTag(holder);
            } else {
                holder = (ViewHolder)convertView.getTag();
            }

        Method m = getItem(position);

        holder.bellName.setText(m.getName());
        holder.bellType.setText(m.getSuffix());
        return convertView;
    }
}

附言:这段代码不是我编译的。先检查一下……

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12849624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档