0

我在理解片段如何与活动交互时遇到了一些麻烦。

我的主要活动是添加一个片段。调用的片段类在这里:

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,但在片段类内部我无法“访问”它。

为什么我不能TextView text = (TextView) findViewById(R.id.pwd_status);在return语句下面添加?

这对我来说很有意义,因为如果我想在一堆地方添加计时器并以编程方式更改一件事,它会随处改变。希望这是有道理的。

谢谢

回答:

我只是保持我的 onCreateView 相同并添加了 onActivityCreated。然后我就可以像往常一样做所有事情了。

4

1 回答 1

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;
}

假设您的布局中有一个TextViewwith id pwd_status,这将起作用。timer_frag

于 2012-07-30T04:03:09.267 回答