如何访问片段中存在的视图

时间:2012-12-24 12:37:19

标签: android android-fragments

我有一个片段,其中一个 editText

<EditText
    android:id="@+id/textViewName"

/>

我想在运行时更改其文本。

如何访问编辑文本以便我可以更改其文本?

3 个答案:

答案 0 :(得分:1)

onCreateView()内,您可以通过夸大布局来找到特定的视图。

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.myFragmentLayout, container, false);
    EditText editText = (EditText) view.findViewById(R.id.textViewName);
    return view;
}

如果您不想膨胀,可以使用getView(),它会返回片段的根视图。

EditText editText = (EditText) getView().findViewById(R.id.textViewName);

答案 1 :(得分:1)

假设你有一个EditFragment类

public class EditFragment extends Fragment
{
    private EditText edit;
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
          View view = inflater.inflate(R.layout.myFragmentLayout, container, false);
          edit = (EditText) view.findViewById(R.id.textViewName);
          return view;
    }
}

您可以让getter访问此EditText

Fragment
public EditText getEditText()
{

    return edit;
}

答案 2 :(得分:1)

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        EditText e = (EditText) view.findViewById(R.id.textViewName);

    ....
}