2017-01-03 54 views
1

嗨,我是一個新手android工作室,但我似乎無法解決這個錯誤。你們介意幫忙嗎?empt來調用虛擬方法'void android.widget.button.setonclicklistener

Process: com.sp.ez_mart_xy, PID: 24157 
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference at com.sp.ez_mart_xy.OneFragment.onCreateView(OneFragment.java:39) 

代碼

@Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
      View view = inflater.inflate(R.layout.fragment_two, container, false); 
      super.onCreate(savedInstanceState); 
      scan_btn = (Button) view.findViewById(scan_button); 
      final Activity activity = getActivity(); 
      scan_btn.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        IntentIntegrator integrator = new IntentIntegrator(activity); 
        integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES); 
        integrator.setPrompt("Scan"); 
        integrator.setCameraId(0); 
        integrator.setBeepEnabled(false); 
        integrator.setBarcodeImageEnabled(false); 
        integrator.initiateScan(); 
       } 
      }); 
      return view 

這個問題似乎是

scan_btn = button 

我試圖改變它getview和根的看法,但它仍然失敗。我 也嘗試了從stackoverflow的解決方案,但仍然崩潰。 下面是XML文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:weightSum="1" 
    android:orientation="vertical" 
    android:background="@color/zxing_custom_possible_result_points"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="24dp"></LinearLayout> 

    <TextView 
     android:text="Current Location :" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/textView" 
     android:textAppearance="@style/TextAppearance.AppCompat.Body1" 
     android:fontFamily="cursive" 
     android:textSize="30sp" 
     android:textAlignment="viewStart" 
     android:typeface="serif" 
     android:textStyle="normal|bold" 
     android:textAllCaps="false" /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:inputType="textPersonName" 
     android:ems="10" 
     android:id="@+id/Edit_current" 
     android:selectAllOnFocus="true" 
     tools:backgroundTint="@color/common_action_bar_splitter" 
     android:background="@color/common_action_bar_splitter" 
     android:layout_weight="0.21" 
     android:hint="Scan/Type Location" 
     android:textStyle="normal|italic" 
     tools:background="@color/zxing_possible_result_points" /> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.14"></LinearLayout> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="115dp"> 

     <Button 
      android:text="Scan Nearest Qr Code" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/scan_btn" 
      android:background="@color/zxing_possible_result_points" 
      android:elevation="0dp" 
      android:typeface="monospace" 
      android:textSize="18sp" 
      android:visibility="visible" /> 

    </LinearLayout> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="224dp" 
     android:elevation="1dp" 
     android:weightSum="1"> 

     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="35dp"></LinearLayout> 

     <TextView 
      android:text="Destination :" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/Destination" 
      android:textAppearance="@style/TextAppearance.AppCompat.Body1" 
      android:fontFamily="cursive" 
      android:textSize="30sp" 
      android:textStyle="normal|bold" /> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textPersonName" 
      android:ems="10" 
      android:id="@+id/edit_destination" 
      android:hint="Example:Fish" 
      android:singleLine="true" 
      android:backgroundTint="@color/common_action_bar_splitter" 
      android:background="@color/zxing_possible_result_points" 
      android:layout_weight="0.25" 
      style="@style/Widget.AppCompat.AutoCompleteTextView" 
      android:selectAllOnFocus="false" 
      android:textStyle="normal|italic" 
      android:textAllCaps="false" /> 

    </LinearLayout> 

</LinearLayout> 
+0

可能重複[什麼是NullPointerException,以及如何解決它?](http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-doi-i-fix -it) –

+0

刪除'super.onCreate(savedInstanceState);' –

+0

scan_btn =(Button)view.findViewById(R.id.scan_button);這將解決你的問題 –

回答

0

應該

scan_btn = (Button) view.findViewById(R.id.scan_button); 

,而不是scan_btn = (Button) view.findViewById(scan_button);

,並刪除此行super.onCreate(savedInstanceState);。我不認爲這是必要的。

相關問題