使用MainActivity中的方法填充TextView

时间:2014-12-24 01:55:13

标签: java android android-fragments textview

所以,假设我有一个数组x:

String x[][] = {
       {"First item", "meti tsriF"},
       {"Second", "dnoceS"},
       //ect. ect.
};

我的.xml文件中有两个TextView,alpha和beta。

我的方法如下:

public void Liszt(){
    TextView beta = (TextView) findViewById(R.id.beta);
    TextView alpha = (TextView) findViewById(R.id.alpha);

    alpha.setTextSize(22);
    beta.setTextSize(22);

    for(int t=0;t<x.length;t++) {
            alpha.append(x[t][1] + "\n");
    }

    for(int t=0;t<x.length;t++) {
            beta.append(x[t][1] + "\n");
    }

此方法位于&#34; MainActivity&#34;当我调用它的片段时,会显示class和.xml文件。那么,当我调用片段时,如何调用此方法?我可以添加&#34; MainActivity.Liszt()&#34;在&#34; onCreate&#34;方法

2 个答案:

答案 0 :(得分:0)

在onActivityCreated中创建引用。

public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        beta = (TextView) getView().findViewById(R.id.beta);
        alpha = (TextView) getView().findViewById(R.id.alpha);
}

答案 1 :(得分:0)

如果MainActivity必须包含要调用Liszt方法的片段,则代码可以正常运行。在fragment类中,您可以使用视图属性调用任何方法。但是,我建议你应该定义具有Liszt()方法的接口,然后MainActivity实现这个接口。最后,您可以通过接口实例调用Liszt方法。我认为这是一个很好的方法。