2017-04-03 99 views
1

我有四个活动:四个活动不显示吐司

活动A

private void addCard() { 
     Intent intent = new Intent(MainActivity.this, GetNumberActivity.class); 
     startActivityForResult(intent, REQUEST_CODE_CREATE); 
    } 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == REQUEST_CODE_CREATE) { 
     if (resultCode == RESULT_OK) { 
      if (data.hasExtra("data")) { 
       // Card has been create 
       Toast.makeText(getApplication(), "Karata została wygenerowana.", Toast.LENGTH_SHORT).show(); 
      } 
     } 
    } 
} 

活动B

Intent intent = new Intent(GetNumberActivity.this, ScanQrCodeActivity.class); 
       intent.putExtra(EXTRA_MESSAGE, uunitValue); 
       startActivityForResult(intent, REQUEST_CODE); 

然后在第二活动我将数据传递到所述第三活动。

活动Ç

Card card = new Card(path3, base32, nameCard, intervalTotp, passwordHotp, getDate(), expirationDate, hotpValue); 
            Intent intent = new Intent(ScanQrCodeActivity.this, Stage3Activity.class); 
            intent.putExtra("card", card); 
            startActivity(intent); 
finish(); 

活动d

Intent data = new Intent(Stage3Activity.this,MainActivity.class); 
       data.putExtra("data", card); 
       startActivityForResult(data, RESULT_OK); 

在按下上活动A按钮,未图示的吐司。

+0

你有没有'的setResult()'地方? –

+0

阅读关于从活动中获取结果https://developer.android.com/reference/android/app/Activity.html#StartingActivities –

+0

尝试使用Intent data = new Intent(); data.putExtra(“data”,card); setResult(RESULT_OK,data);完成();'而不是您的代码在活动D –

回答

4

您需要如下

if (resultCode == RESULT_OK) { 
     if (requestCode == REQUEST_CODE_CREATE) { 
      if (data.hasExtra("data")) { 
       // Card has been create 
       Toast.makeText(getApplication(), "Karata została wygenerowana.", Toast.LENGTH_SHORT).show(); 
      } 
     } 
    } 

首先检查RESULT_OK更新您的代码,然后进一步进行

编码快乐!

+0

广告更新但没有显示吐司 – Ewelina

1

更换getApplication()this(当前活动的上下文中)

Toast.makeText(this.class, "Karata została wygenerowana.", Toast.LENGTH_SHORT).show(); 
+0

什么显示烤面包 – Ewelina

+0

你什么时候要烤面包? –

+0

吐司应该显示什么时候去点击Actitvty四 – Ewelina

0

使用getApplicationContext()而不是getApplication()makeText()方法

+0

什么都不显示吐司 – Ewelina