我运行一个片段活动,试图设置父活动一个TextView的文本内的setText命令,但它不工作。 有任何想法吗?
TextView text = (TextView) getView().findViewById(R.id.status);
text.setText("Text from a fragment");
我没有在Eclipse中得到一个错误,但我在运行时得到一个空指针异常。 当然,它发生在哪里我的setText线。 如何做到这一点任何想法?
我运行一个片段活动,试图设置父活动一个TextView的文本内的setText命令,但它不工作。 有任何想法吗?
TextView text = (TextView) getView().findViewById(R.id.status);
text.setText("Text from a fragment");
我没有在Eclipse中得到一个错误,但我在运行时得到一个空指针异常。 当然,它发生在哪里我的setText线。 如何做到这一点任何想法?
是您的NPE可能是因为R.id.status
很可能无法在该片段中的视图定义。
getView()
将返回在你的碎片的产生的观点onCreateView()
方法。
你们是不是从一个(二级)FragmentActivity设置你的活动一个TextView或试图从一个片段设置在FragmentActivity一个TextView?
如果是第一次选择,你要像使用一个消息处理程序,并通过第二次活动的消息做一些事情。 我不认为这是你在问什么,但。
如果你想从一个片段设置一个TextView,做到这一点的一般方法是定义上的方法(您FragmentActivity接口updateText()
为例),并获得片段调用的方法。 然后活动处理TextView的更新,这很好地工作,因为它可以调用getView()
将返回你正在寻找的视图。 它类似于我的答案贴在这里
使用getActivity()。 这将导致findViewById()方法,直到找到你的“r.id.status”开始在该基地的活动搜索和泡沫了。
TextView text = (TextView) getActivity().findViewById(R.id.status);
text.setText("Text from a fragment");