例如,说我只有一个按钮。使用这样的XML:
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/PandR" android:id="@+id/PandRA">
我想在Java中做的是创建一个可以在另一个活动或Java类上访问的字符串值。这是我的Java目前的样子:
公共类TeamAOffense扩展了ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_team_aoffense);
Toast.makeText(this, "Team A's turn.", Toast.LENGTH_LONG).show();
// Make a method that saves a value for pressing PandRA, later used in CalcForAOffBDef
// Button for PandRA, assigning value for calculating.
final Button pandrBttn = (Button) findViewById(R.id.PandRA);
pandrBttn.setOnClickListener(new View.OnClickListener() {
// Needs to save value that is later compared.
@Override
public void onClick(View v) {
Intent intent = new Intent(TeamAOffense.this, ExchangeAToB.class);
startActivity(intent);
}
});
// Button for MandFA, assigning value for calculating.
final Button mandfBttn = (Button) findViewById(R.id.MandFA);
mandfBttn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Needs to save value that is later compared.
Intent intent = new Intent(TeamAOffense.this, ExchangeAToB.class);
startActivity(intent);
}
});
// Button for SandCA, assigning value for calculating.
final Button sandcBttn = (Button) findViewById(R.id.SandCA);
sandcBttn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Needs to save value that is later compared.
Intent intent = new Intent(TeamAOffense.this, ExchangeAToB.class);
startActivity(intent);
}
});
}
答案 0 :(得分:0)
您有两种方式:
Intent.putExtra(String key, String value)
singleton
传递Objects
或String
甚至是custom class
<强>实施例强>:
例1
Intent intent = new Intent(TeamAOffense.this, ExchangeAToB.class);
intent.putExtra("KEY", "Value");
startActivity(intent);
// and in `ExchangeAToB` class use
String key getIntent().getExtras().getString("KEY");`
示例2
public class MyInstance{
private static MyInstance instance = null;
private Object mObject;
private MyInstance(){
mObject = new Object();
}
public static MyInstance getInstance(){
if(instance == null){
instance = new MyInstance();
}
return instance;
}
public Object getObject(){
return mObject;
}
public void setObject(Object obj){
mObject = obj;
}
}
// Use MyInstance.getInstance().setObject(new String()); // in activity 1
// and Object myObject = MyInstance.getInstance().getObject(); // in activity 2
**使用后不要忘记清除对象