我在理解碎片如何与活动相互作用方面遇到了一些麻烦。
我的主要活动是添加片段。调用的片段类在这里:
public class Timer_fragment extends android.support.v4.app.Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.timer_frag, container, false);
}
}
正在膨胀的布局中有一个textView,但在片段类内部我无法“访问”它。
为什么我不能在return语句下添加TextView text = (TextView) findViewById(R.id.pwd_status);
?
这对我来说很有意义,因为如果我想在一堆地方添加计时器并以编程方式更改一件事,它会随处变化。希望这是有道理的。
由于
我只是保持onCreateView相同并添加onActivityCreated。然后我能像往常一样做所有事情。
答案 0 :(得分:1)
你可以这样做:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.timer_frag, container, false);
TextView text = (TextView) v.findViewById(R.id.pwd_status);
/* set the TextView's text, click listeners, etc. */
return v;
}
如果您TextView
布局中的pwd_status
ID为timer_frag
,则可以使用此功能。