0

我得到了 Unable to start activity ComponentInfo:java.nullpointer 异常的异常,我到处检查了我的整个代码,但我无法解决该错误

这是我的代码

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.store_denomination);
    actionbar=getSupportActionBar();
    actionbar.setDisplayShowHomeEnabled(false);
     actionbar.setDisplayShowTitleEnabled(false);
     actionbar.setDisplayShowCustomEnabled(true);
     actionbar1 = LayoutInflater.from(this).inflate(R.layout.action_custom, null);

    spin1 = (Spinner)findViewById(R.id.spin);   
    ProgressDialog progress = new ProgressDialog(this);
    progress.setMessage("Loading......");
    new MyClass(progress).execute();

    String urlvalue = ((MyApplication) getApplicationContext()).url;
    new DownloadImageTask().execute(urlvalue);




    youpaytxt = (TextView)findViewById(R.id.youpaytextview);  
    //name = (TextView)findViewById(R.id.nametextview);
    description = (TextView)findViewById(R.id.descriptiontextview);
    btncheckout = (Button)findViewById(R.id.checkoutbutton);
    edt = (EditText)findViewById(R.id.editText1);
    thumb_image = (ImageView)findViewById(R.id.imageView1);
    contshopping = (Button)findViewById(R.id.continueshoppingbutton);
    pg = (ProgressBar)findViewById(R.id.progressBar1);
    nametextview = (TextView)findViewById(R.id.nametextview);
    description = (TextView)findViewById(R.id.descriptiontextview);
    btnterms = (Button)findViewById(R.id.termsbutton);
    //termstxt=(TextView)findViewById(R.id.trmstxtview);
    //termstxt.setVisibility(termstxt.GONE);
    //termstxt.setTypeface(arial_font);

    description.setTypeface(arial_font);
    name = ((MyApplication) getApplicationContext()).nameofbrand;
    nametextview.setText(name);
    Typeface.createFromAsset(getAssets(), "fonts/arial.ttf");
    quant = String.valueOf(1);
    btn=(ImageButton)findViewById(R.id.cartbutton);
    if(!(((MyApplication)getApplicationContext()).cartproductsname).isEmpty())
    {
    btn.setOnClickListener(new OnClickListener() {          //error is coming here from logcat

        public void onClick(View v) {
            // TODO Auto-generated method stub
        Intent first=new     Intent(Detailsofproduct.this,CommentListActivity.class);   
        startActivity(first);
        }
    });
    }

这是我的日志猫

10-09 13:01:01.951: E/AndroidRuntime(2135): FATAL EXCEPTION: main
10-09 13:01:01.951: E/AndroidRuntime(2135): java.lang.RuntimeException: Unable to start   activity ComponentInfo{com.androidhive.xmlparsing/com.androidhive.xmlparsing.Detailsofproduct}: java.lang.NullPointerException
10-09 13:01:01.951: E/AndroidRuntime(2135):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
10-09 13:01:01.951: E/AndroidRuntime(2135):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
10-09 13:01:01.951: E/AndroidRuntime(2135):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
10-09 13:01:01.951: E/AndroidRuntime(2135):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
10-09 13:01:01.951: E/AndroidRuntime(2135):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-09 13:01:01.951: E/AndroidRuntime(2135):     at android.os.Looper.loop(Looper.java:123)
10-09 13:01:01.951: E/AndroidRuntime(2135):     at android.app.ActivityThread.main(ActivityThread.java:3683)
10-09 13:01:01.951: E/AndroidRuntime(2135):     at java.lang.reflect.Method.invokeNative(Native Method)
10-09 13:01:01.951: E/AndroidRuntime(2135):     at java.lang.reflect.Method.invoke(Method.java:507)
10-09 13:01:01.951: E/AndroidRuntime(2135):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-09 13:01:01.951: E/AndroidRuntime(2135):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-09 13:01:01.951: E/AndroidRuntime(2135):     at dalvik.system.NativeStart.main(Native Method)
10-09 13:01:01.951: E/AndroidRuntime(2135): Caused by: java.lang.NullPointerException
10-09 13:01:01.951: E/AndroidRuntime(2135):     at com.androidhive.xmlparsing.Detailsofproduct.onCreate(Detailsofproduct.java:209)
10-09 13:01:01.951: E/AndroidRuntime(2135):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-09 13:01:01.951: E/AndroidRuntime(2135):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
10-09 13:01:01.951: E/AndroidRuntime(2135):     ... 11 more

为什么我会收到错误消息。有什么帮助吗??

4

1 回答 1

3

改变这个,

  btn=(ImageButton)findViewById(R.id.cartbutton);

 btn=(ImageButton)actionbar1.findViewById(R.id.cartbutton);

也许引用它起源的视图应该可以解决问题。

因为通常当您调用时findViewbyId(),android 仅从中使用的 xml 中搜索元素setContentView,因为您使用的是操作栏视图,这应该会有所帮助。

于 2012-10-09T07:47:50.497 回答