我有這樣的代碼,但它不工作(強制關閉) ,我用這個在C#中,但它不是在java中工作如何從另一個類(安卓)
ClassA的C =新ClassA的()設置的TextView; c.TextView1.setText(「test」);
我需要設置從ClassB的文本視圖能不能做到 不使用意向 因爲意圖需要從頭再來的活動,所有的數據都將丟失
任何人都可以提出一個代碼這
也可以從我ClassB的
設置INT x值在ClassA的我有這樣的代碼,但它不工作(強制關閉) ,我用這個在C#中,但它不是在java中工作如何從另一個類(安卓)
ClassA的C =新ClassA的()設置的TextView; c.TextView1.setText(「test」);
我需要設置從ClassB的文本視圖能不能做到 不使用意向 因爲意圖需要從頭再來的活動,所有的數據都將丟失
任何人都可以提出一個代碼這
也可以從我ClassB的
設置INT x值在ClassA的在ClassA的
定義你的TextView
private TextView1 txtView1;
的onCreate
過程中加載它txtView1 = (TextView) findViewById(R.id.txtView1);
寫二傳手
public void setTextOnTextView1(String text) {
txtView1.setText(text);
}
在你的其他類,你可以現在
c.setTextOnTextView1("Hello");
是的,你可以做 -
Intent i = new Intent(classA.this, classB.class);
Bundle bundle = new Bundle();
bundle.putExtra("name For Identification", "Value);
i.putExtras(bundle);
startActivity(i);
在你的第二類,我的意思是B類
Bundle bundle = getIntent().getExtras("name for Identification");
String text = bundle.getString("name For Identification");
只需將此文本設置爲您TextView
而且,B類還應該擴展Activity
否則,getIntent()
代碼將無法正常工作。
試試這個
在活動添加這1
Intent myIntent = new Intent(Activity1.this, Activity2.class);
myIntent.putExtra("UserId",UserId);
myIntent.putExtra("UserName",UserName);
startActivity(myIntent);
在活動2
Intent intent = getIntent();
UserId=intent.getStringExtra("UserId");
UserName=intent.getStringExtra("UserName");
添加此燁它可以在不使用的意圖來完成,使用類的靜態方法/成員
從ClassA的靜態方法獲取TextView對象,同樣定義一個stat IC法setX的(INT X)在ClassA的
所以方法例如
class ClassA{
static TextView tv; //this should be intialized in your code via findViewByID or by code depneds
static int x;
static public TextView getTextView(){
return tv;
}
static public void setX(int xP){
x = xP;
}
}
從ClassB的你可以調用ClassA.getTextView()和ClassB。setX的(12)
意圖從B級A級
Intent toClassB = new Intent(classA.this,classB.class);
toClassB.putExtra("StringId","value");
startActivity(toClassB);
//get value
Intent intent = getIntent();
String getValue = intent.getStringExtra("StringId");
//set text
textView.setText(getValue);
希望這有助於
要在兩個activites之間傳遞值,可以使用共享Preferenceas遵循
在活動答:
public class activityA extends Activity{
private final String MY_value = "value";//variable used for shared preference
@Override
public void onCreate(Bundle savedInstanceState)
{
SharedPreferences myPrefs = getBaseContext().getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putString(MY_value, "xyz");
prefsEditor.commit();
}
}
在活動B中,您可以按如下方式回顧該值:
public class activityB extends Activity{
private final String MY_value = "value";//variable used for shared preference
@Override
public void onCreate(Bundle savedInstanceState)
{
SharedPreferences myPrefs1 = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
roadworthynumber = myPrefs1.getString(MY_value, "value");
}
}
在A類創建函數returnThis()
ClassA returnThis()
{
return this;
}
在CLASSB調用此函數,並通過使用返回的引用設定的TextView的CLASSA
@Medo嘗試搜索'二者之間傳遞數據活動在andorid' –
參考這一個http://stackoverflow.com/a/3510771/1021695 – KMI