0

我正在尝试创建一个带有可滚动文本的片段。我有以下使用以下两种方法扩展 Fragment 的类。我收到一个错误“对于 exampleFragmentText 类型的方法 findViewbyID(int) 是未定义的”,对于 exampleFragmentText 类型的方法“stSelected(boolean) 是未定义的”我应该怎么做?

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

        return inflater.inflate(R.layout.textview_main, container, false); //just return the  view ;

    }

@Override
    public void onActivityCreated(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        //here you can initialise your variables,listeners,e.t.c ;
        super.onActivityCreated(savedInstanceState);

        TextView textView = (TextView) findViewbyID(R.id.myText);
        textView.stSelected(true);

     //   addListenerOnButton();
    }
protected View findViewById(int id)
{
    return getView().findViewById(id);
}
4

3 回答 3

0

也许你可以试试:

TextView textView = (TextView) getView().findViewbyID(R.id.myText);

这是因为,片段是基础活动的一部分。您需要查看基础视图以了解组件的 ID。

不知道我解释的好不好。对不起我的英语不好。

另一种选择是,如果您的片段像这样开始:

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_new_record, container, false);

您可以使用 v 来获取组件的视图,例如:

TextView textView = (TextView) v.findViewbyID(R.id.myText)
于 2014-06-30T16:43:49.993 回答
0

代替

textView.stSelected(true);

textView.setSelected(true);

此外,您不需要覆盖 findViewById()。

于 2014-07-01T06:31:07.040 回答
0

尝试:

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {


View view =  inflater.inflate(R.layout.textview_main, container, false);

TextView textView = (TextView) view.findViewbyID(R.id.myText);
textView.stSelected(true);
return view

}

于 2014-06-30T16:39:34.903 回答