Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将bundle传递给if语句_Java_Android_If Statement_Bundle_Onactivityresult - Fatal编程技术网

Java 将bundle传递给if语句

Java 将bundle传递给if语句,java,android,if-statement,bundle,onactivityresult,Java,Android,If Statement,Bundle,Onactivityresult,活动索赔-->有2个按钮和一个文本视图(获取总金额) 活动项目1和汽油机------->一个editText和一个保存按钮 活动索赔 button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialogRadio(a1); } }

活动索赔-->有2个
按钮
和一个
文本视图
(获取总金额)

活动项目1和汽油机------->一个
editText
和一个保存
按钮

活动索赔

 button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialogRadio(a1);

            }
        });

        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialogRadio(a2);

            }
        });

 public void AlertDialogRadio(final int k) {
         final CharSequence[] ClaimsModel = {"Project1", "Petrol"};

        AlertDialog.Builder alt_bld = new AlertDialog.Builder(getActivity());
        alt_bld.setTitle("Select a Claims");
        alt_bld.setSingleChoiceItems(ClaimsModel, -1, new DialogInterface
                .OnClickListener() {

            public void onClick(DialogInterface dialog, int item) {
                if (item == 0) {
                    Intent intent = new Intent(getActivity().getApplicationContext(), Project1.class);
                   intent.putExtra("k",k); 
                    startActivityForResult(intent, 0);
                } else if (item == 1) {
                    Intent intent = new Intent(getActivity().getApplicationContext(), Petrol.class);
                   intent.putExtra("k", k);
                    startActivityForResult(intent, 1);
                }
**项目1或汽油,视情况而定……)**

是否可以将
捆绑
传递给
if语句
?我想将一个值传递给另一个案例,最后将两个值相加。我怎样才能做到这一点?现在我只得到值
as
bs
,而不是值
金额
。我确实认为需要在这两个
if语句中添加
bundle

继续声明。java….

 public void onActivityResult(int requestCode, int resultCode, Intent data) {
            int button = data.getIntExtra("k1", 0);  // to check which button was pressed
            long a=0;
            long as=0;
            long bs=0;
            String result;
            String result1;

            if (button == 1) {
                switch (requestCode) {
                    case 0:
                        result = data.getStringExtra("text");
                        String b = data.getStringExtra("l");
                         as=Long.parseLong(result);
                        c.setText("            " + b + "------" + "RM " + result);
                        Toast.makeText(getActivity(),as+"", Toast.LENGTH_LONG).show();
                        break;

                    case 1:
                         result = data.getStringExtra("text");
                        String b1 = data.getStringExtra("l");
                         as=Long.parseLong(result);
                        c.setText("            " + b1 + "------" + "RM " + result);
                        Toast.makeText(getActivity(),as+"", Toast.LENGTH_LONG).show();
                        break;


            }
             if(button==2)
            {
                switch (requestCode) {
                    case 0:
                        result1 = data.getStringExtra("text");
                        String b = data.getStringExtra("l");
                         bs=Long.parseLong(result1);
                        d.setText("            " + b + "------" + "RM " + result1);
                        Toast.makeText(getActivity(),bs+"", Toast.LENGTH_LONG).show();
                        break;

                    case 1:
                        result1 = data.getStringExtra("text");
                        String b1 = data.getStringExtra("l");
                         bs=Long.parseLong(result1);
                        d.setText("            " + b1 + "------" + "RM " + result1);
                        Toast.makeText(getActivity(),bs+"", Toast.LENGTH_LONG).show();
                        break;

                }

            }

      else if(requestCode==CAMERA_REQUEST_CODE)
            {

            }

            long amount=as+bs;
            Toast.makeText(getActivity(),amount+"", Toast.LENGTH_LONG).show();
我指的是,但我不太清楚答案

索赔的图像


土司应该显示1 12 13,但我得到1 12 12。似乎无法添加值
1

您应该将在onActivityResult中传递的值存储在Activity的变量中,然后直接为Toast读取这些变量

public class Claims{
    long a, as, bs;

    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        int button = data.getIntExtra("k1", 0);
        String result;

        if (button == 1) {
            result = data.getStringExtra("text");
            as=Long.parseLong(result);
        } else if(button==2) {
            result = data.getStringExtra("text");
            bs=Long.parseLong(result1);
        }

        long amount=as+bs;
        Toast.makeText(getActivity(),amount+"", Toast.LENGTH_LONG).show();
    }
}

您仍然需要根据您的标准初始化您的值。

您应该将在onActivityResult中传递的值存储在活动的变量中,然后直接为Toast读取这些变量

public class Claims{
    long a, as, bs;

    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        int button = data.getIntExtra("k1", 0);
        String result;

        if (button == 1) {
            result = data.getStringExtra("text");
            as=Long.parseLong(result);
        } else if(button==2) {
            result = data.getStringExtra("text");
            bs=Long.parseLong(result1);
        }

        long amount=as+bs;
        Toast.makeText(getActivity(),amount+"", Toast.LENGTH_LONG).show();
    }
}

不过,您仍然需要根据您的标准初始化您的值。

所有评论都消失了……现在有什么不清楚的?请让我知道。我会再三解释:(根据你的
onActivityResult
代码,如果你得到
as
的值,那么
bs
将为0,反之亦然,那么你为什么要这样做
amount=as+bs
你想要这两个值吗?你的代码太冗余了,你的问题不清楚,我们不能这样帮助你你必须面对面地与某人见面,并告诉他……我想把金额
as+bs
所有评论都删除……现在有什么不清楚的地方?请让我知道。我会解释并再次解释:(根据你的
onActivityResult
代码,如果你得到
as
的值,那么
bs
将为0,反之亦然,那么你为什么要这样做
amount=as+bs
你想要这两个值吗?你的代码太冗余了,你的问题不清楚,我们不能这样帮助你你必须面对面地和某人见面,然后告诉他……我想得到金额,
as+bs
所以我只是把a,as,bs移动到全局,然后它就会像我想要的那样工作?我仍然不确定你到底想要什么,但这将是我处理它的方式。所以我只是把a,as,bs移动到全局,而不是像我想要的那样工作?我仍然不是真的你知道你到底想要什么,但这是我处理的方式。