为什么这不能让我引用 EditText?我尝试传递 Activity 但没有成功。
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;
}
}
最佳答案
改变这个
EditText savedata = (EditText).getActivity(),findViewById(R.id.savebtn);
到
EditText savedata = (EditText)rootView.findViewById(R.id.savebtn);
假设编辑文本属于fragment_home.xml
。
您还可以在 onActivityCreated
中使用 getView().findViewById(id)
进行初始化
注意:
fragment 可以通过 getActivity()
访问 Activity 实例并轻松执行任务,例如在 Activity 布局中查找 View :
View listView = getActivity().findViewById(R.id.list);
关于java - 如何从 fragment Android 中引用 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25425953/