FindViewbyID 与片段
FindViewbyID with fragments
我遇到了片段问题。我想在我的应用程序中添加一个抽屉菜单,而不是使用片段。我有这段代码,当我放入片段时 "findviewbyid" 没有更多效果。有人可以帮助我吗?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_contact);
final EditText nome = (EditText) findViewById(R.id.nome);
final EditText citta = (EditText) findViewById(R.id.citta);
final EditText numero = (EditText) findViewById(R.id.numero);
final EditText email = (EditText) findViewById(R.id.email);
final EditText oggetto = (EditText) findViewById(R.id.oggetto);
final EditText messaggio = (EditText) findViewById(R.id.messaggio);
Button email = (Button) findViewById(R.id.post_message);
email.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = nome.getText().toString();
String citta = citta.getText().toString();
String numero = numero.getText().toString();
String email = mail.getText().toString();
String oggetto = oggetto.getText().toString();
String messaggio = messaggio.getText().toString();
if (TextUtils.isEmpty(nome)){
nome.setError("Inserisci il Tuo Nome");
nome.requestFocus();
return;
}
谢谢你,对不起我的英语
Fragment
不是 Activity
,这意味着您不能使用 activity 方法或其生命周期。这意味着您无法在 Fragment
的 onCreate()
方法中找到视图,并且您也不能在其上使用 findViewById
。
这是 Android 生命周期
并根据此调整您的代码,将您的 findViews
移动到 onCreateView()
中,像这样
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragmentLayout, container, false);
nome = (EditText) view.findViewById(R.id.nome);
return view;
}
以此类推
我遇到了片段问题。我想在我的应用程序中添加一个抽屉菜单,而不是使用片段。我有这段代码,当我放入片段时 "findviewbyid" 没有更多效果。有人可以帮助我吗?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_contact);
final EditText nome = (EditText) findViewById(R.id.nome);
final EditText citta = (EditText) findViewById(R.id.citta);
final EditText numero = (EditText) findViewById(R.id.numero);
final EditText email = (EditText) findViewById(R.id.email);
final EditText oggetto = (EditText) findViewById(R.id.oggetto);
final EditText messaggio = (EditText) findViewById(R.id.messaggio);
Button email = (Button) findViewById(R.id.post_message);
email.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = nome.getText().toString();
String citta = citta.getText().toString();
String numero = numero.getText().toString();
String email = mail.getText().toString();
String oggetto = oggetto.getText().toString();
String messaggio = messaggio.getText().toString();
if (TextUtils.isEmpty(nome)){
nome.setError("Inserisci il Tuo Nome");
nome.requestFocus();
return;
}
谢谢你,对不起我的英语
Fragment
不是 Activity
,这意味着您不能使用 activity 方法或其生命周期。这意味着您无法在 Fragment
的 onCreate()
方法中找到视图,并且您也不能在其上使用 findViewById
。
这是 Android 生命周期
并根据此调整您的代码,将您的 findViews
移动到 onCreateView()
中,像这样
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragmentLayout, container, false);
nome = (EditText) view.findViewById(R.id.nome);
return view;
}
以此类推