清空以调用虚拟方法';void android.widget.button.setonclicklistener
嗨,我是android studio的新手,但我似乎无法解决这个错误。你们介意帮忙吗清空以调用虚拟方法';void android.widget.button.setonclicklistener,android,android-fragments,invoke,Android,Android Fragments,Invoke,嗨,我是android studio的新手,但我似乎无法解决这个错误。你们介意帮忙吗 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
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和root视图,但仍然失败。我
还尝试了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>
应该是
scan_btn = (Button) view.findViewById(R.id.scan_button);
而不是scan_btn=(按钮)view.findviewbyd(scan_按钮)代码>
并删除这一行super.onCreate(savedInstanceState)代码>。我认为没有必要 应该是
scan_btn = (Button) view.findViewById(R.id.scan_button);
而不是scan_btn=(按钮)view.findviewbyd(scan_按钮)代码>
并删除这一行super.onCreate(savedInstanceState)代码>。我认为没有必要 Removesuper.onCreate(savedInstanceState)的可能重复项代码>扫描按钮=(按钮)视图.findViewById(R.id.scan按钮);这将解决您的问题谢谢大家,它可以正常工作,为可能重复的Removesuper.onCreate(savedInstanceState)代码>扫描按钮=(按钮)视图.findViewById(R.id.scan按钮);这会解决你们的问题的谢谢伙计们这很有效干杯