我的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++;
}
}
答案 0 :(得分:0)
假设tmp包含一个字符串,尝试将public void setText()更改为public String setText(),并在函数的底部使用return(tmp); 此外,当您调用该函数时,您必须有一个String变量(例如tmptext),并通过说tmptext = setText()来调用该函数; 这会将tmp的值返回到tmptext的值,然后您可以使用该值。我不确定你为什么在另一个函数中有一个函数,但你可以(可能)将它们分开,只需使用递归来调用函数。
对不起,如果我错过了解,那已经有一段时间了,因为我已经用Java做过任何事情了。