【发布时间】:2018-05-19 14:37:34
【问题描述】:
我在我的活动中遇到了onClick 方法的问题。我在onClick 方法中使用layoutInflater 并在按钮单击时将布局更改为另一个布局,没关系。但我在onClick 有自己的方法。它在第一次点击时不起作用。它只适用于第二次点击。
@Override
public void onClick(View v) {
getTextA();
mFrameLayout.removeAllViews();
LayoutInflater layoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = layoutInflater.inflate(R.layout.soru, null);
mFrameLayout.addView(v);
Button bt = new Button(this);
bt.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
mFrameLayout.addView(bt);
bt.setText(textA);
}
textA 来自getTextA() 方法,但在第二次点击时。为什么 ?任何人都可以帮助我吗?
【问题讨论】:
-
你的 getTextA() 里有什么?
-
我打赌那是另一个不了解多线程的人......而 getTextA 只是开始一些异步调用......就像无数类似的问题一样。
-
这只是一个假设。从他的分数来看,OP 看起来像是 android dev 的新手。如果从 bt 按钮获取文本,getTextA() 将不起作用,因为它在第一次调用时尚未设置(另一个假设)。
-
@yusuf korkmaz - 看起来你没有展示足够多的代码,所以我们不知道为什么它不起作用。如果您仍然需要帮助,请编辑您的问题,例如分享 getTextA() 的代码
标签: android onclicklistener buttonclick