Android Java Eclipse意图与2个项目

时间:2014-08-19 04:17:08

标签: java android eclipse

美好的一天!

我的Eclipse中有2个项目。 MainActivity1和MainActivity2是活动的名称。 MainActivity2通过MainActivity1属性中的Project连接到MainActivity1。到目前为止,我可以从MainActivity1调用MainActivity2的包。现在,下面是我的问题:

我在MainActivity1中有一个按钮。我想要做的是在我点击MainActivity1中的按钮后,它运行MainActivity2项目,一些变量将被传递给MainActivity2。

我已经在谷歌搜索了一段时间,但我无法获得正确的关键字。我已经在StackOverflow中检查了一些问题,但是我无法通过调用和运行MainActivity1.java中的MainActivity2类来找到与我类似的问题

我是Android Java中的菜鸟,但对其他OOP有所了解。

任何提示都会有很大帮助。感谢

5 个答案:

答案 0 :(得分:1)

最有可能的是,您应该将两个项目合并为一个项目。

如果由于某种原因,你真的不能这样做。搜索术语显式意图。并为您的按钮搜索术语onClickListener,以便知道它已被点击,并且当发生这种情况时需要打开活动。

请不要使用项目的默认包名称,按照常规Java约定创建自己的唯一包名称。

答案 1 :(得分:0)

您应该将项目中的一个更改为库项目。 您可以通过右键单击项目属性>来更改它。 Android>检查是库复选框

然后通过右键单击您的项目将其包含到另一个项目中> Android>添加...... 选择图书馆,并应用它。

如果要包含活动,则应将其放在清单文件

活动android:name =" com.your.package.MainActivity2"

这是我的意见

答案 2 :(得分:0)

将其添加到按钮中的MainActivity1

Intent dialogIntent = new Intent(getBaseContext(), MainActivity2.class); dialogIntent.putExtra("message", "calling MainActivity2.class"); dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); getApplication().startActivity(dialogIntent);

并将其放在onCreate()内的MainActivity2中 String message = getIntent().getStringExtra("message"); if(message != null){

Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();

}

答案 3 :(得分:0)

我认为this正是您所寻找的。 使用intent.SetCompenent()方法告诉M​​ainActivity1关于MainActivity2。

Intent intent = new Intent();
intent.setComponent(new ComponentName("your_package_name", "your_package_name.MainActivity2"));
startActivity(intent);

另外几个可能的答案找到herehere。我现在无法检查它们,所以你可以自己尝试一下。希望那些有用。

答案 4 :(得分:0)

使用此example

Intent intent = new Intent(); intent.setComponent(new ComponentName("your_package_name", "your_package_name.MainActivity2")); startActivity(intent);

您还需要在标记

中的清单文件中启动活动
<application>
       <activity android:name=".MainActivity2"></activity>
</application>