(P.S。我是Android开发的新手,所以,我可以使用一些愚蠢的术语)。
因此,有一个空白的Xamarin.Android(C#)项目。我确信在这种情况下,任何Java开发人员都可以为我提供帮助。
无论如何,所以我有一个xml
文件,其中有一个LinearLayout
ViewGroup,并且它有一个嵌套的TextView
。看起来像这样(顺便说一下,xml文件名为custom_View.xml
:
<LinearLayout....
.....
.....>
<TextView
android:id="@+id/TextView1"
...../>
</LinearLayout>
我为此自定义视图创建的背景类继承了(或用Java的话称extends
)LinearLayout
类。在其构造函数内部,我调用了一个方法,该方法会扩展xml
文件中的视图。
它是这样的:
public TestView(Context context) : base(context)
{
Initialize(context);
}
private void Initialize(Context ctx)
{
//Inflating the layout
mContext = ctx;
var inflatorService = (LayoutInflater)ctx.GetSystemService(Context.LayoutInflaterService);
View v = inflatorService.Inflate(Resource.Layout.custom_View, this, false);
this.AddView(v);
TextView tv = v.FindViewById<TextView>(Resource.Id.TextView1);
}
现在请注意,我正在尝试从代码隐藏的xml文件中引用TextView
。
我的基本问题是,我在哪里绑定它的属性?例如,如果我想绑定Text
的{{1}}属性,应该将代码放入哪个方法? (我知道如何绑定属性,但由于它们无关紧要,因此不将代码发布在此处。)
我已经看过SO上的其他文章,但是我似乎找不到我应该重写并绑定那里属性的方法?我试图在TextView
方法中绑定属性,但是它抛出一个错误,这基本上意味着我在创建视图之前试图绑定该属性?
那么,我应该重写哪种方法? Initialize
/ OnViewCreated
类中是否有与LinearLayout
等效的方法?
编辑