, если вы хотите использовать тот же экземпляр, который объявлен как статический с public, так что вы можете использовать в другом классе или деятельности также
Редактировать ...
В Деятельности 1-й делай так
public class MyActivity1 extends Activity{
public static XYPlot mySimpleXYPlot;
public onCreated(Bundle b){
setContentView(R.layout.main);
mySimpleXYPlot = (XYPlot) findViewById(R.id.mySimpleXYPlot);
// start you 2nd activity from button
}
}
В Activity2 используйте этот способ
public class MyActivity2 extends Activity{
private XYPlot mySimpleXYPlot;
public onCreated(Bundle b){
setContentView(R.layout.main);
mySimpleXYPlot = MyActivity2.mySimpleXYPlot;
// use mySimpleXYPlot as per your requirement
}
}
Я не уверен, что это работает идеально или нет, но попробуйте так и скажите, что происходит с этим
Edit2
не добавляйте свой компонент в файл макета xml, добавляйте в момент создания
мой файл макета выглядит так
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:id="@+id/main_linear"
>
<Button android:id="@+id/btn1" android:text="Click" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
мое первое занятие
public static EditText edittext;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
//edittext = (EditText) findViewById(R.id.edittext);
final LinearLayout ll = (LinearLayout) findViewById(R.id.main_linear);
edittext = new EditText(getApplicationContext());
edittext.setId(1);
edittext.setText("text change");
((Button)findViewById(R.id.btn1)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
edittext.setText(edittext.getText().toString());
ll.removeView(edittext);
startActivity(new Intent(TestLinear.this,TestClass.class));
}
});
ll.addView(edittext);
}
сначала необходимо удалить этот компонент из макета, в который вы добавили его как дочерний
private static EditText edittext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
LinearLayout ll = (LinearLayout) findViewById(R.id.main_linear);
getEdit();
((Button)findViewById(R.id.btn1)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.v("test", edittext.getText().toString());
}
});
ll.addView(edittext);
}
static void getEdit(){
edittext = TestLinear.edittext;
}
Я знаю, что это не идеальный способ. Другой способ - вы можете сохранить его значение в пользовательском классе, таком как setter / getter и использовать в упражнении