2013-03-14 45 views
0

因此,假设用户在我的Incomings类的EditText字段中输入总数,然后我希望将其传递给我的Results类。我如何在Android中解决这个问题?我知道最好的方法是使用Accessor方法。 我的进帐类:在Android中的不同类中访问变量

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

有什么建议?

+2

活动 - >活动数据传递的最佳方式是传递意图附加组件。 – 2013-03-14 14:49:02

+0

@Adam是的,你应该在Android中使用意图传递数据。 – 2013-03-14 14:54:31

+0

@TGMCians呵呵我还是需要醒来。但问题是,结果是从哪里来的? – 2013-03-14 14:54:39

回答

0

通行证意图演员:

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

然后在你的下一个活动访问与

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

现在你的结果类。这取决于你想要用这个班级做什么。如果你需要的只是一个简单的计算,那么创建一个静态方法。数据传递通常是相反的。该活动调用一个数据类,给它数据,然后然后数据类做它需要做的任何事情并将结果返回给活动。

+0

谢谢非常:) – 2013-03-14 15:53:52

-1

你试图在你的MainActivity上调用一个函数吗? 。

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

使用

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

在其他类
捆绑堤岸= getIntent()getExtras();
float value = bd.getFloat(“key”);