0

たとえば、ユーザーが Incomings クラスの EditText フィールドに合計を入力すると、これを Results クラスに渡す必要があります。Androidでこれを行うにはどうすればよいですか? Accessor メソッドを使用するのが最善の方法であることはわかっています。私の着信クラス:

public void onClick(View v) {

String userLoan = etLoan.getText().toString();
String userGrant = etGrant.getText().toString();
String userFirst = etFirst.getText().toString();

float fUserLoan = Float.parseFloat(userLoan);
float fUserGrant = Float.parseFloat(userGrant);
float fUserFirst = Float.parseFloat(userFirst);

float totalIncomings = fUserLoan + fUserGrant + fUserFirst;

Intent intent = new Intent(v.getContext(), Outgoings.class);
startActivity(intent);

}
});

私の結果クラスには空の関数があり、MainActivity クラスでアクセサ メソッドを使用して試した合計を計算します。

public float getTotalOutgoings() {
    return totalOutgoings;
}

public void setTotalOutgoings(float totalOutgoings) {
    this.totalOutgoings = totalOutgoings;
}

public float getTotalIncomings() {
    return totalIncomings;
}

public void setTotalIncomings(float totalIncomings) {
    this.totalIncomings = totalIncomings;
}

public float getTotalResult() {
    return totalResult;
}

public void setTotalResult(float totalResult) {
    this.totalResult = totalResult;
} 

助言がありますか?

4

3 に答える 3

0

使用する

Bundle bd = new Bundle();  
bd.putFloat("key",value);  
intent.putExtras(bd);  
startActivityForResult(intent,1);  

他のクラス
では、Bundle bund = getIntent()。getExtras();
float value = bd.getFloat( "key");

于 2013-03-14T14:57:32.147 に答える
0

Pass Intent エクストラ:

Intent intent = new Intent(v.getContext(), Outgoings.class);
intent.putExtra ("total",totalIncomings);
startActivity(intent);

次に、次のアクティビティでアクセスします

Intent i = getIntent();
float totalComings = i.getFloatExtra("total",-1.0);

ここで、結果クラスについて説明します。それは、そのクラスで何をしたいかによって異なります。単純な計算だけが必要な場合は、静的メソッドを作成します。通常、データの受け渡しは逆です。アクティビティがデータ クラスを呼び出してデータを渡すとデータ クラスは必要なことをすべて実行し、結果をアクティビティに返します。

于 2013-03-14T14:51:18.803 に答える
-1

MainActivityで関数を呼び出そうとしていますか?

MainActivity m = (MainActivity) getActivity();
m.setTotalIncomings(XXX);
于 2013-03-14T14:52:01.220 に答える