如何从方法传递数据

时间:2014-05-08 13:40:25

标签: variables layout methods

我的Android应用程序中有部分代码存在问题。我需要保存tmp变量中保存的文字以查看它是否为null,但我无法从方法onGlobalLayout获取信息。我怎样才能做到这一点?我不是专家,所以我希望你能帮助我。

public void setText (){
    int i = 0;
    tmp = stringResponse;
    //Log.i("TMP", " 1 " + tmp);
    final PageTurnLayout flipper = (PageTurnLayout) findViewById(R.id.flipper);

    while (i != 15){
        final TextView tv = new TextView (this);
        tv.setTextSize(20);
        tv.setPadding(7, 5, 5, 0);

        ViewTreeObserver vto = tv.getViewTreeObserver();
        vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
            @SuppressWarnings("deprecation")
            @Override
            public void onGlobalLayout() {
                tv.getViewTreeObserver().removeGlobalOnLayoutListener(this);

                tv.setText(tmp);
                tmp = getInvisibleText(tv);
                tmp2 = getVisibleText(tv);

                tv.setText(tmp2);
            }});

        flipper.addView(tv);
        i++;
    }
}

1 个答案:

答案 0 :(得分:0)

假设tmp包含一个字符串,尝试将public void setText()更改为public String setText(),并在函数的底部使用return(tmp); 此外,当您调用该函数时,您必须有一个String变量(例如tmptext),并通过说tmptext = setText()来调用该函数; 这会将tmp的值返回到tmptext的值,然后您可以使用该值。我不确定你为什么在另一个函数中有一个函数,但你可以(可能)将它们分开,只需使用递归来调用函数。

对不起,如果我错过了解,那已经有一段时间了,因为我已经用Java做过任何事情了。