为什么这不允许我引用EditText?我尝试过传递活动但没有用。
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
public class HomeFragment extends Fragment {
public HomeFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
EditText savedata = (EditText).getActivity(),findViewById(R.id.savebtn);
return rootView;
}
}
答案 0 :(得分:3)
更改此
EditText savedata = (EditText).getActivity(),findViewById(R.id.savebtn);
到
EditText savedata = (EditText)rootView.findViewById(R.id.savebtn);
假设edittext属于fragment_home.xml
。
您还可以使用onActivityCreated
getView().findViewById(id)
初始化
注意:
片段可以使用getActivity()
访问Activity实例,并轻松执行任务,例如在活动布局中查找视图:
View listView = getActivity().findViewById(R.id.list);
答案 1 :(得分:1)
您无法从活动传递参考资料。
改变这个:
EditText savedata = (EditText)rootView .findViewById(R.id.savebtn);