应用程序在尝试打开活动时停止

时间:2014-01-30 06:43:08

标签: logging android-intent android-activity zbar

我正在尝试从片段调用活动,但是当我在手机中运行它时应用程序停止。如果我删除了intent,它会显示toast,但是当我尝试使用intent运行它时它会停止。

我已将活动添加到清单中。

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;

    }

}

3 个答案:

答案 0 :(得分:0)

试试这个

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

或者getTag()中的Log一定存在问题...请发布您的getTag()

答案 1 :(得分:0)

对于您要打开的每个新活动,您必须在 AndroidManifest.xml 中写下此内容:

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

我希望这会对你有所帮助:)。

答案 2 :(得分:0)

那必须奏效:

button.setOnClickListener(new OnClickListener() {

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

我希望这会对你有所帮助:)。