2015-10-29 89 views
1

活動權利要求---->有2 buttontextView(得到總量)通行證束if語句

活性PROJECT1和汽油----->一個editText和保存button

活動宣稱

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); 
       } 

**要麼PROJECT1或汽油,取決於...)**

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.project); 
     text= (EditText)findViewById(R.id.editText1); 
     Button save=(Button)findViewById(R.id.button12); 

     save.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View arg0) { 
       Intent returnIntent = new Intent(); 
       l="A"; 
       text = text.getText().toString(); 
       returnIntent.putExtra("text", text); 
       returnIntent.putExtra("l", l); 
       final int k1 = getIntent().getExtras().getInt("k"); 
       returnIntent.putExtra("k1", k1); 
       setResult(Activity.RESULT_OK, returnIntent); 
       finish(); 
      } 
     }); 

    } 

    @Override 
    public void onBackPressed() 
    { 
     Intent returnIntent = new Intent(); 
     setResult(Activity.RESULT_CANCELED, returnIntent); 
     finish(); 
    } 

是否可以通過bundleif statement?我想將一個值傳遞給另一個案例,最後總結出兩個值。我怎樣才能做到這一點?現在我只能得到值asbs,但不是值amount。我相信它需要一個bundle同時添加到if statement ...

繼續Claims.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(); 

我指How can i pass a string value, that has been created in an if statement, through a bundle inside another if statement?但得到的答覆是相當不清楚我。

索賠

![enter image description here

圖像的敬酒應顯示1 12 13,但我得到1 12 12好像不能添加1價值!

+0

所有評論都沒有了...... – Tony

+0

現在還不清楚什麼?請告訴我。我將再次解釋和解釋:( – Tony

+0

根據你的'onActivityResult'代碼,如果你得到'as'的值,那麼你一次只能得到一個值,那麼'bs'將會是0,反之亦然,那麼你爲什麼要這麼做'量= as + bs'你想要兩個值嗎? – Sabeeh

回答

0

您應該將您在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(); 
    } 
} 

您仍然需要根據您的標準初始化您的值。

+0

所以我只是將a,as,bs移到全局比它會像我想要的那樣工作? – Tony

+0

我仍然不確定你想要什麼,但這將是我處理它的方式。 –

+0

非常感謝... !!! – Tony