![](/img/trans.png)
[英]how to intent with on click button from activity to fragment in android studio
[英]Android: How to programmatically click on a button previously located in an activity in the activity stack, from a fragment?
当我在 fragmentB 中时,如何模拟单击位于堆栈中活动中的按钮。
登录活动A => 片段B。
我想模拟这样的事情:
来自片段B的LoginActivityA.btnClick()
我尝试使用这张票但没有成功: Ticket1 、 Ticket2 、 Ticket3
这是我的代码:
片段B:
//BEGIN TEST
String message="hello ";
Intent intent = new Intent(getActivity(), LoginActivity.class);
intent.putExtra("MESSAGE",message);
getActivity().setResult(2,intent);
getActivity().startActivityForResult(intent,2);
getActivity().finish();//finishing activity
//END TEST
登录活动A:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
// check if the request code is same as what is passed here it is 2
if(requestCode==2)
{
//do the things u wanted
}
}
我确切地说我尽量不启动多个 LoginActivity 和 Fragment。 我只想使用 LoginActivity => Fragment 获得一个堆栈
有任何想法吗?
编辑:
((LoginActivity)getActivity()).login();
我从呈现的片段启动了活动功能,但出现错误
“未找到可接受的模块。本地版本为 0,远程版本为 0。”
您可以使用带有 onClick 方法的接口,该方法由您的活动实现,然后在片段 B 中随时调用 onClick 方法并将活动传递给它。
虽然我认为你在做什么是错误的,你应该改变主意。
这不是一个好的做法,但如果您愿意,可以通过以下方式调用您的活动 UI 元素
((Button) getActivity().findViewById(R.id.button_id)).performClick();
永远记住,Android 是一个架构良好的平台,如果你正在尝试做一些困难的事情,你可能不应该这样做。 重新考虑您的设计模式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.