我有一個帶有片段的android應用程序,它有一個按鈕,在點擊它時會導致一個Activity。當我在我的設備上運行應用程序時,它返回一個錯誤。林只是困惑原因一切似乎是正確的,但然後它返回這個錯誤。請幫我看看我的錯誤。謝謝!按鈕上的NullPointerException
06-22 17:32:58.103: E/AndroidRuntime(32096): Process: com.samsung.android.example.helloaccessoryprovider, PID: 32096
06-22 17:32:58.103: E/AndroidRuntime(32096): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.samsung.android.example.helloaccessoryprovider
com.samsung.android.example.helloaccessoryprovider.Portfolio_AddImageToConsultation}:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
06-22 17:32:58.103: E/AndroidRuntime(32096): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2693)
06-22 17:32:58.103: E/AndroidRuntime(32096): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758)
06-22 17:32:58.103: E/AndroidRuntime(32096): at android.app.ActivityThread.access$900(ActivityThread.java:177)
06-22 17:32:58.103: E/AndroidRuntime(32096): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)
06-22 17:32:58.103: E/AndroidRuntime(32096): at android.os.Handler.dispatchMessage(Handler.java:102)
06-22 17:32:58.103: E/AndroidRuntime(32096): at android.os.Looper.loop(Looper.java:145)
06-22 17:32:58.103: E/AndroidRuntime(32096): at android.app.ActivityThread.main(ActivityThread.java:5942)
06-22 17:32:58.103: E/AndroidRuntime(32096): at java.lang.reflect.Method.invoke(Native Method)
06-22 17:32:58.103: E/AndroidRuntime(32096): at java.lang.reflect.Method.invoke(Method.java:372)
06-22 17:32:58.103: E/AndroidRuntime(32096): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
06-22 17:32:58.103: E/AndroidRuntime(32096): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
06-22 17:32:58.103: E/AndroidRuntime(32096): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
06-22 17:32:58.103: E/AndroidRuntime(32096): at com.samsung.android.example.helloaccessoryprovider.Portfolio_AddImageToConsultation.onCreate(Portfolio_AddImageToConsultation.java:86)
06-22 17:32:58.103: E/AndroidRuntime(32096): at android.app.Activity.performCreate(Activity.java:6289)
06-22 17:32:58.103: E/AndroidRuntime(32096): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
06-22 17:32:58.103: E/AndroidRuntime(32096): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
06-22 17:32:58.103: E/AndroidRuntime(32096): ... 10 more
這是我的代碼
public class Portfolio extends Fragment {
Button cam;
Intent addEvent;
public Portfolio() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_portfolio,
container, false);
cam = (Button) view.findViewById(R.id.camerabutton);
cam.setOnClickListener(addbutton);
return view;
}
OnClickListener addbutton = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
addEvent = new Intent(getActivity(), Portfolio_AddImageToConsultation.class);
startActivity(addEvent);
}
};
這是我的佈局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:baselineAligned="false"
tools:context=".MainActivity" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/camerabutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sign Up" />
你在哪裏調用這個Fragment?看起來你是用這個Fragment類作爲Launcher,這是不正確的。你應該在Activity中使用Fragment 。 – Durgesh
是的,我有一個FragmentManager在另一個活動類 – Claudia