[英](Android / Java) How do you assign a string and share across activities or java classes?
例如,假設我只有一個按鈕。 使用這樣的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);
}
});
}
您有兩種方法:
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
**不要忘記使用后清除對象
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.