0

如何在自定义 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
....
}

我在这里问了一个类似的问题,但并没有真正得到太多帮助。示例代码将大大有助于消除我的困惑。提前致谢!

4

1 回答 1

0

TextView无论如何,您都在扩展。正如 A--C 所提到的,您可以使用getText(), 以及setText()获取和设置文本。

在您的上下文中,我不确定使用它TextView来实现您的自定义视图/小部件是否是一个好主意。View 可能是一个更好的起点,因为TextView它携带了各种格式、图标/可绘制显示、单击/按钮逻辑等内容。

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

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

于 2013-02-16T04:33:58.197 回答