2016-07-26 95 views
1

我试图添加一个按钮到我的片段布局,但它说,方法findViewByid无法解析。我在片段中的onCreateView方法中实现它。为什么它给我这个错误?在片段中添加一个按钮?

import android.support.v4.app.Fragment; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.ViewGroup; 
import android.view.View; 
import android.widget.Button; 

public class extra extends Fragment { 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     Button myButton = (Button) findViewById(R.id.my_button); 
     return inflater.inflate(R.layout.extra, container, false); 

    } 

} 
+0

这是因为你的类没有一个findByViewId方法 – Stultuske

+0

检查我的解决方案@asdddd –

回答

0

使用此代码:

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.extra, container, false); 
     Button myButton = (Button) rootView.findViewById(R.id.my_button); 
     return rootView; 

    } 
2

您需要使用View。像,

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

    View rootView = inflater.inflate(R.layout.extra, container, false); 
     // Inflate the layout for this fragment 
    Button myButton = (Button) rootView.findViewById(R.id.my_button); 

    return rootView; 
} 
1

使用我的代码

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
View view = inflater.inflate(R.layout.extra, container, false); 
Button myButton = (Button)view.findViewById(R.id.my_button); 
return view; 
} 
0
public class extra extends Fragment { 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    // Inflate the layout for this fragment 
    View v = LayoutInflater.from(getActivity()).inflate(
      R.layout.YOUR_LAYOUT, null); 

    Button myButton = (Button) v.findViewById(R.id.my_button); 
    return v; 
}} 

使用上面的代码

相关问题