2014-01-30 78 views
1

我想从一个片段调用一个活动,但是当我在手机中运行应用程序时,应用程序会停止。如果我删除了意图,它会显示吐司,但是当我试图用意图运行时,它会停止。当试图打开一个活动时,应用程序停止

我已将活动添加到清单。

package com.example.bar.adapter; 

import com.example.bar.R; 
import com.example.bar.zbarreader.CameraTestActivity; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.Button; 
import android.widget.Toast; 

public class Inventory extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 

     //inflate the right layout 
     View rootView = inflater.inflate(R.layout.inventory, container, false); 

     // Define and execute a button 
     Button InvScan = (Button) rootView.findViewById(R.id.InvScan); 
     InvScan.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       // Show a toast 
       Toast.makeText(getActivity(), "Openning the Barcode Reader", Toast.LENGTH_SHORT).show(); 

       // Call the Activity 
       Intent IntentScanner = new Intent(getActivity(), CameraTestActivity.class); 
       Log.i(getTag(), getTag()); 
       startActivity(IntentScanner); 

      } 
     }); 

     return rootView; 

    } 

} 
+0

还添加logcat的[R有问题的结果。还请确保您已在AndroidManifest.xml中添加CameraTestActivity活动 –

+1

显示您的“getTag()”方法。 –

+0

粘贴你得到的异常的堆栈跟踪。答案很可能在某处。 – keno

回答

0

试试这个

// Call the Activity 
Intent IntentScanner = new Intent(getActivity(), CameraTestActivity.class); 
Log.i(getTag(), getTag()); 
getActivity().startActivity(IntentScanner); 

还是有一定的Log有一些问题,getTag() ...请发表您的getTag()

+0

您不必使用'getActivity()。startActivity(...)'。 'Fragment'类有它自己的'startActivity(...)'方法。 – Squonk

+0

我得到的错误是以下内容:android:switcher:2131230720:0 –

0

对于要打开每一个新的活动,你有你的AndroidManifest.xml中写这篇文章:

</activity> 
     <activity android:name=".CameraTestActivity"></activity> 
     <activity android:name=".ImageTestActivity"></activity> 
    </application> 

我希望这将帮助你:)

0

那一定工作:

button.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View arg0) { 
    Intent nextScreen = new Intent(getApplicationContext(), newActivity.class); 
    startActivity(nextScreen); 
    finish(); 
     } 
    }); 

我希望这将帮助你:)

相关问题