安卓Java Eclipse Intent with 2 Projects

but5z9lq  于 2023-04-20  发布在  Eclipse
关注(0)|答案(5)|浏览(139)

再见!
我的Eclipse中有2个项目。MainActivity 1和MainActivity 2是活动的名称。MainActivity 2通过MainActivity 1的属性中的Project连接到MainActivity 1。到目前为止,我可以从MainActivity 1调用MainActivity 2的包。现在,下面是我的问题:
我在MainActivity 1中有一个按钮。我想做的是在我点击MainActivity 1中的按钮后,它运行MainActivity 2项目,一些变量将传递给MainActivity 2。
我已经在谷歌搜索了一段时间了,我不能得到正确的关键字。我已经检查了StackOverflow中的一些问题,但我无法找到类似于我从www.example.com调用和运行MainActivity 2类的问题MainActivity1.java
我是一个在Android Java的菜鸟,但在其他OOP的知识。
任何提示将是一个很大的帮助。谢谢

xurqigkl

xurqigkl1#

最有可能的是,您应该将两个项目合并为一个。
如果出于某种原因,您确实不能这样做。搜索术语explicit intent。然后搜索术语onClickListener,以便您的按钮知道它正在被单击,并且当发生这种情况时,它需要打开Activity。
请不要为你的项目使用默认的包名,按照正常的Java约定创建你自己的唯一的包名。

wfypjpf4

wfypjpf42#

您应该将项目的1更改为库项目。您可以通过右键单击项目属性〉Android〉检查是库复选框来更改它
然后将其包含到另一个项目中,方法是右键单击项目〉Android〉添加...选择库并应用它。
如果你想包括活动,你应该把它放在清单文件
activity android:name=“com.your.package.MainActivity2”
这是我个人意见

ac1kyiln

ac1kyiln3#

我想this就是你要找的。使用intent.SetCompent()方法告诉MainActivity1关于MainActivity2的信息。

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

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

qlzsbp2j

qlzsbp2j4#

把这个放到你的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();
}
bwntbbo3

bwntbbo35#

使用此example

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

您需要在manifest文件和<application>标记中启动Activity

<application>
       <activity android:name=".MainActivity2"></activity>
</application>

相关问题