在Android中访问不同类中的变量

时间:2013-03-14 14:48:10

标签: java android

所以说用户在我的Incomings类的EditText字段中输入一个总数,然后我希望将它传递给我的Results类。我如何在Android中进行此操作?我知道最好的方法是使用Accessor方法。 我的Incomings课程:

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

}
});

我的结果类有一个空白函数,将计算总数 我尝试在MainAcivity类中使用访问器方法:

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

有什么建议吗?

3 个答案:

答案 0 :(得分:0)

传递Intent extras:

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

然后使用

访问下一个活动
Intent i = getIntent();
float totalComings = i.getFloatExtra("total",-1.0);

现在关于你的结果课程。这完全取决于你想要用这个类做什么。如果您只需要一个简单的计算,那就制作一个静态方法。数据传递通常是相反的。 Activity调用数据类,为其提供数据,然后数据类执行任何需要执行的操作,并将结果返回给Activity。

答案 1 :(得分:0)

使用

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

在其他班上     Bundle bund = getIntent()。getExtras();
    float value = bd.getFloat(“key”);

答案 2 :(得分:-1)

您是否尝试在MainActivity上调用函数?

MainActivity m = (MainActivity) getActivity();
m.setTotalIncomings(XXX);