我下载了以下项目:https://github.com/adamped/Instagram 当我运行它时,我得到了这个异常:
未处理的异常:
Java.Lang.NoSuchMethodError:没有名称为“ getDrawable”的方法 签名='(I)Landroid / graphics / drawable / Drawable;'在班上 Landroid / content / Context;
在本课程中:
[assembly: ExportRenderer(typeof(Entry), typeof(TextViewCustomRenderer))] namespace Instagram.Droid.Renderers { public class TextViewCustomRenderer: EntryRenderer {
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e) { base.OnElementChanged(e);
if (Control != null)
{
/*This throws the exception*/Control.Background = Android.App.Application.Context.GetDrawable(Resource.Drawable.rounded_corners);
Control.Gravity = GravityFlags.CenterVertical;
Control.SetPadding(10, 0, 0, 0); } }
} }
我试图将编译版本从Oreo更改为Nougat,但无济于事!
看来我不知道这个例外是什么!
请帮助。
答案 0 :(得分:0)
getDrawable
已过时。您可以尝试使用此:
this.Control.Background = ContextCompat.GetDrawable(Forms.Context, Resource.Layout.YourDrawableId);