OnBindViewHolder上的NoSuchMethodError适用于廉价手机?

时间:2016-06-26 10:56:21

标签: android

我的NoSuchMethodError RecyclerViews上有一些崩溃报告说:onBindViewHolder这种情况只发生在以下便宜的手机上:

Event (C5133) 
COSMOTE_MY_TAB_ICS
Lenovo A390 (A390) 
Xperia Miro (ST23i) 
Galaxy Tab2 7.0 (espressorf)

所有这些设备的Android版本是:Android 4.0.3 - 4.0.4

错误堆栈:

java.lang.NoSuchMethodError: android.view.View.setBackground
    at org.m.muddzboy.QuoteCreator.Background.ColorButtonAdapter.onBindViewHolder(ColorButtonAdapter.java:124)
    at org.m.muddzboy.QuoteCreator.Background.ColorButtonAdapter.onBindViewHolder(ColorButtonAdapter.java:24)

这是我的onBindViewHolder:

这非常简单,并且不包含那么多代码

@Override
public void onBindViewHolder(ViewHolder holder, int position) {

    if (position == 0) {

        holder.colorButton.setBackgroundResource(R.drawable.colorpicker2);

    } else {

        gd = (GradientDrawable) App.getAppContext().getResources().getDrawable(R.drawable.bbtn);
        gd.setColor(Color.parseColor(colorslist.get(position)));
        //this crash -> holder.itemView.setBackground(gd);

    }

}

那么问题是什么?因为我的应用程序与所有非廉价/中文手机完美配合。这可以解决吗?

1 个答案:

答案 0 :(得分:0)

在API 16中添加了

func main() { t := template.Must(template.New("").Parse(templ)) m := map[string]interface{}{ "FileName": "something.txt", "FileFullPath": "/location/to/something", } if err := t.Execute(os.Stdout, m); err != nil { panic(err) } } const templ = `<tr><td><a href="/file{{.FileFullPath}}">{{.FileName}}</a></td></tr>` 方法,因此如果您在低于该值的情况下对其进行测试,则会给出setBackground

Check this link for api level details

如果您想在NoSuchMethodError以下支持它。你用过了

setBackgroundDrawable

像这样

Api 16