2015-10-18 76 views
0

我的代码有什么问题。我得到一个错误“找不到符号方法findViewById(int)”。片段是新的包装。没有按钮代码部分,它完美的工作。Onclick事件(ANDROID STUDIO)

public class Scanner1 extends Fragment { 

    private Button scannerButton; 
    @Nullable 
    @Override 

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

     View rootView = inflater.inflate(R.layout.scan_main,container,false); 
     return rootView; 


     scannerButton = (Button) findViewById(R.id.scannerButton); 

     scannerButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Intent intent = new Intent(v.getContext(), BarcodeScanner.class); 
       startActivity(intent); 
      } 
     }); 
    } 

回答

0

片段没有findViewById。您必须使用您的rootView

public class Scanner1 extends Fragment { 

    private Button scannerButton; 
    @Nullable 
    @Override 

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

     View rootView = inflater.inflate(R.layout.scan_main,container,false); 

     scannerButton = (Button)rootView.findViewById(R.id.scannerButton); 

     scannerButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Intent intent = new Intent(v.getContext(), BarcodeScanner.class); 
       startActivity(intent); 
      } 
     }); 

     return rootView; 
    } 
} 
+0

更改为scannerButton =(Button)rootView。(R.id.scannerButton);还是一样。 –

+0

其“找不到符号方法findViewById(int)”?!? – MHossein

+0

错误:(42,6)错误:在解析 –