Android片段onCreateView()从未调用过

时间:2014-02-17 13:19:13

标签: java android android-activity fragment

我一直在寻找一段时间,但我似乎无法找到下一个问题的答案: 为什么onCreateView永远不会被触发?此代码是AndroidStudio在创建新的MainActivity以及我编写的一些代码时生成的代码。

我想使用setTextConfig(...,...,...)来设置文本字段中的文本。但我似乎无法使用findviewbyid(R.id ....)来获取它们;因为v总是为null,即使是getView();返回null。

 public static class PlaceholderFragment extends Fragment {
    private View v;
    private EditText etCustomerName, etDeviceID;
    private Spinner select;
    public PlaceholderFragment() {
        super();
    }

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

        return v;
    }

    public void setTextConfig(String customerName, String selectedOption, int deviceID){
        View vv = getView();
        //init form controls
        etCustomerName = (EditText)vv.findViewById(R.id.etCustomerName);
        etDeviceID = (EditText)v.findViewById(R.id.etDeviceId);
        select = (Spinner)v.findViewById(R.id.select);


        etCustomerName.setText(customerName);

        ArrayAdapter adapter = (ArrayAdapter)select.getAdapter();
        int index = adapter.getPosition(selectedOption);
        select.setSelection(index);

        etDeviceID = (EditText)getView().findViewById(R.id.etDeviceId);
        etDeviceID.setText(Integer.toString(deviceID), TextView.BufferType.EDITABLE);
    }
}

如果您需要更详细的信息,请询问:)

0 个答案:

没有答案