我的工作区中有两个 Android 应用程序项目:Testobject 和 MyAndroidApplication。
我想使用其中之一 Testobject 作为新对象的基础。为此,我将 Testobject 设置为库(属性 - Android - 选中复选框是库)。在 MyAndroidApplication 中,我添加了 lib Testobject(属性 - Android - 添加...)。
现在我可以使用 Testobject 中的所有类和资源:
我使用了 Testobject 中的 XML 并更改了 ImageView 等。
/** called when the activity is first created */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView stImageView = (ImageView) findViewById(R.id.imageview_ov_remote);
stImageView.setImageResource(R.drawable.car_launcher);
}
单击 ImageView 时,一个新的 Activity 开始。
Intent intent = new Intent(this, TestKlasse1.class);
startActivity(intent);
启动的 Activity 位于项目 Testobject 中。
如何在项目 MyAndroidApplication 中更改 TestKlasse1 中的 TextView?
//cutout from Testklasse1 in Testobject
TextView testString;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_testklasse_eins);
testString = (TextView) findViewById(R.id.testKlasse1TextView);
}
我不会更改TestKlasse1中的内容,因为我想将此类用于不同的应用程序。例如,超市应用程序或汽车制造商应用程序。我不想只更改 ic_launcher。 Multiple Applications with different names
尽管该类位于另一个项目中,但如何更改 TextView 等?
最佳答案
通过 Intent,您可以向 Activity 发送参数。
Intent intent = new Intent(this, TestKlasse1.class);
intent.putExtra("MY_STRING", "New Content");
startActivity(intent);
在您的 Activity 中,您可以通过以下方式获取内容(在 onStart
中):
String myString = getIntent().getStringExtra("MY_STRING");
或者您可以将字符串添加到项目中的 strings.xml 资源文件中,然后可以使用相同的名称覆盖应用程序项目中的值。
关于java - 使用相同的 Android 应用程序作为新应用程序的基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26016188/