0

この質問には2つの活動が含まれています。ユーザーが最初に単純なフォーム スタイル レイアウトでデータを入力するもの。次に、4 つのデータをインテント (putextra) と startActivity(intent) に保存する必要があります。

2 番目はデータを取得し、配列にロードする準備を整える必要があります。デバッグを実行すると、Activity1 のインテントが正常に値を保持します。ただし、 activity2 は意図が null であると言います。その間に何が起こっているのかわかりません。

アクティビティ1

EditText editDebtName = (EditText) findViewById(R.id.dispDebtName);
    debtName = editDebtName.getText().toString();

    EditText editDebtAmount = (EditText) findViewById(R.id.dispDebtAmount);
    String debtAmountStr = editDebtAmount.getText().toString();

    EditText editDebtRate = (EditText) findViewById(R.id.dispDebtRate);
    String debtRateStr = editDebtRate.getText().toString();

    EditText editDebtPayment = (EditText) findViewById(R.id.dispDebtPayment);
    String debtPaymentStr = editDebtPayment.getText().toString();

    Intent i = new Intent(this, DebtList.class);
    i.putExtra("newDebtName", debtName);
    i.putExtra("newDebtAmount", debtAmountStr);
    i.putExtra("newDebtRate", debtRateStr);
    i.putExtra("newDebtPayment", debtPaymentStr);

    startActivity(i);

アクティビティ2

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.debtlist);

    String[] debtName = new String[10];
    String[] debtAmount = new String[10];
    String[] debtRate = new String[10];
    String[] debtPayment = new String[10];
    int trigger = 5;

    SharedPreferences sharedPref= getSharedPreferences("chaosdatasnowball", 0);

    debtName = getFromSharedPreference("debtNames", this.getApplicationContext());
    debtAmount = getFromSharedPreference("debtAmounts", this.getApplicationContext());
    debtRate = getFromSharedPreference("debtRates", this.getApplicationContext());
    debtPayment = getFromSharedPreference("debtPayments", this.getApplicationContext());

    trigger = sharedPref.getInt("trigger", trigger);

    Bundle extras = getIntent().getExtras();
    debtName[trigger] = extras.getString("newDebtName");
    debtAmount[trigger] = extras.getString("newDebtAmount");
    debtRate[trigger] = extras.getString("newDebtRate");
    debtPayment[trigger] = extras.getString("newDebtPayment");

エラーメッセージもスローされません。私が判断しようとしているのは..なぜ私の意図が受け取られないのですか..?

4

1 に答える 1