【问题标题】:App Stops when trying to open an activity尝试打开活动时应用程序停止
【发布时间】:2014-01-30 06:43:07
【问题描述】:

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

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

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;

    }

}

【问题讨论】:

  • 还添加带有问题的 logcat 结果。还要确保你在 AndroidManifest.xml 中添加了 CameraTestActivity 活动
  • 显示你的“getTag()”方法。
  • 粘贴你得到的异常的堆栈跟踪。答案可能就在某处。
  • 你的错误是什么?请发布错误。 getTag() 包含什么?我认为Log.i(getTag(), getTag()); 这行给你一个错误。
  • 我得到的错误如下:android:switcher:2131230720:0

标签: logging android-intent android-activity zbar


【解决方案1】:

试试这个

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

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

【讨论】:

  • 您不必使用getActivity().startActivity(...)Fragment 类有自己的 startActivity(...) 方法。
  • 我得到的错误如下:android:switcher:2131230720:0
【解决方案2】:

对于您要打开的每个新 Activity,您必须在 AndroidManifest.xml 中写入:

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

希望对你有帮助:)

【讨论】:

    【解决方案3】:

    那一定行得通:

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

    希望对你有帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多