如何在自定义TextView中设置构造函数以便能够从片段传递文本?
换句话说,我很困惑如何将片段(Fragment1)中的文本发送到自定义视图(View1):
public class View1 extends TextView {
//constructors:
public View1(Context context, AttributeSet ats, int ds) {
super(context, ats, ds);
init();
}
public View1(Context context) {
super(context);
init();
}
public View1(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
...
canvas.drawText(myString, margin1, margin2, paint); //myString is from Fragment1
....
}
我问了一个类似的问题here,但没有得到太多帮助。示例代码将大大有助于消除我的困惑。提前谢谢!
答案 0 :(得分:0)
无论如何,你正在扩展TextView
。如A - C所述,您可以使用getText()
以及setText()
来获取和设置文字。
在您的上下文中,我不确定使用TextView
来实现您的自定义视图/窗口小部件是否是个好主意。视图可能是一个更好的起点,因为TextView
带有格式化,图标/可绘制显示,点击/按钮逻辑等所有类型的东西。
如果希望能够让系统从XML布局实例化/扩充组件,则需要定义标准构造函数。然后,您可以使用标准的getter / setter作为数据,与所有其他控件一样。
如果你自己实例化你的小部件/视图(在你的代码中),你可以自由定义你想要的任何构造函数(我相信)。