从片段到自定义TextView提供文本

时间:2013-02-16 04:21:43

标签: android android-fragments textview

如何在自定义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,但没有得到太多帮助。示例代码将大大有助于消除我的困惑。提前谢谢!

1 个答案:

答案 0 :(得分:0)

无论如何,你正在扩展TextView。如A - C所述,您可以使用getText()以及setText()来获取和设置文字。

在您的上下文中,我不确定使用TextView来实现您的自定义视图/窗口小部件是否是个好主意。视图可能是一个更好的起点,因为TextView带有格式化,图标/可绘制显示,点击/按钮逻辑等所有类型的东西。

如果希望能够让系统从XML布局实例化/扩充组件,则需要定义标准构造函数。然后,您可以使用标准的getter / setter作为数据,与所有其他控件一样。

如果你自己实例化你的小部件/视图(在你的代码中),你可以自由定义你想要的任何构造函数(我相信)。