关键词:
如何将一个变量从ViewSyllabusActivity传递给片段尝试了很多例子,很多次我想将数据ViewSyllabusActivity.java传递给Fragment.java但我无法发送数据帮助我提前感谢
view syllabus activity.Java
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_syllabus);
viewPager = (ViewPager) findViewById(R.id.viewpager);
setupViewPager(viewPager);
tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
setupTabIcons();
Intent intent = getIntent();
int sem = intent.getIntExtra(SubListActivity.EXTRA_NUMBER, 0);
String sid = intent.getStringExtra(SubListActivity.EXTRA_TEXT);
private void setupViewPager(ViewPager viewPager)
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFrag(new ObjFragment(), "Objectives");
adapter.addFrag(new ContActivity(), "Contents");
adapter.addFrag(new LaboActivity(), "Laboratory");
adapter.addFrag(new TBActivity(), "Text Books");
adapter.addFrag(new LaboActivity(), "References");
viewPager.setAdapter(adapter);
class ViewPagerAdapter extends FragmentPagerAdapter
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager)
super(manager);
@Override
public Fragment getItem(int position)
return mFragmentList.get(position);
@Override
public int getCount()
return mFragmentList.size();
public void addFrag(Fragment fragment, String title)
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
fragment.Java
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
View view = inflater.inflate(R.layout.fragment_obj, container, false);
TextView textView = view.findViewById(R.id.obj);
return view;
你在ViewPagerAdapter中发送了一些值,如下所示: -
@Override
public Fragment getItem(int position)
Bundle bundle = new Bundle();
if(position == 0)
bundle.putInt("position", position);
bundle.putString("survayType", "your value");
mFragmentList.get(position).setArguments(bundle);
else if(position == 1)
bundle.putInt("position", position);
bundle.putString("survayType", "your value");
mFragmentList.get(position).setArguments(bundle);
else if(position == 2)
bundle.putInt("position", position);
bundle.putString("survayType", "your value");
mFragmentList.get(position).setArguments(bundle);
else if(position == 3)
bundle.putInt("position", position);
bundle.putString("survayType", "your value");
mFragmentList.get(position).setArguments(bundle);
else if(position == 4)
bundle.putInt("position", position);
bundle.putString("survayType", "your value");
mFragmentList.get(position).setArguments(bundle);
return mFragmentList.get(position);
并获取片段中的值,如下所示: -
String survayType = getArguments().getString("survayType");
我这样做,它对我有用。
使用EventBus。这真的很容易也很好。
1 - 创建活动:
public class SendDataToFragmentEvent
private YourDataType yourData;
public SendDataToFragmentEvent(YourDataType yourData)
this.yourData = yourData;
public void getYourData()return yourData;
而在您的活动中,在您想要将数据发送到片段的那一刻:
EventBus.getDefault.post(new SendDataToFragmentEvent(yourDataHere));
而且你必须等待片段中的这些数据:
@Subscribe(threadMode = ThreadMode.MAIN)
public void onSendDataToFragmentEvent(SendDataToFragmentEventevent
event)
/* Do something with your data here*/
;
不要忘记EventBus必须知道何时开始收听或停止:
@Override
public void onStart()
super.onStart();
EventBus.getDefault().register(this);
@Override
public void onStop()
super.onStop();
EventBus.getDefault().unregister(this);
这是因为Eventbus永远留在这里,直到你的片段/活动被破坏。
注意:片段必须打开才能收听您的活动。
Here是该库的链接,我发现它非常好。
如何将变量从 Activity 传递到 Fragment,并将其传回?
】如何将变量从Activity传递到Fragment,并将其传回?【英文标题】:HowtopassavariablefromActivitytoFragment,andpassitback?【发布时间】:2013-06-3010:52:08【问题描述】:我目前正在制作一个安卓应用程序,我想在活动和片段之间传递一个日期... 查看详情
将数据从片段列表视图项传递到活动字符串变量 onitemclicklistener
】将数据从片段列表视图项传递到活动字符串变量onitemclicklistener【英文标题】:PassingDatafromFragmentlistviewitemtoActivitystringvariableonitemclicklistener【发布时间】:2018-04-1422:10:12【问题描述】:我正在尝试将ListView项从片段传递到活动中... 查看详情
如何将值从一个活动中的片段传递到另一个活动? [复制]
】如何将值从一个活动中的片段传递到另一个活动?[复制]【英文标题】:Howtopassvaluesfromfragmentsinoneactivitytoanotheractivity?[duplicate]【发布时间】:2021-08-0202:23:47【问题描述】:我正在一个有两个活动的应用程序中做一个小测验。一... 查看详情
如何使用菜单按钮将数据从活动传递到android中的片段?
】如何使用菜单按钮将数据从活动传递到android中的片段?【英文标题】:Howtopassdatafromactivitytofragmentinandroidusingmenubutton?【发布时间】:2020-07-2011:59:03【问题描述】:我有这些活动:登录活动主活动个人资料活动MainActivity包含4个... 查看详情
如何将值从片段/活动传递到 xml?
】如何将值从片段/活动传递到xml?【英文标题】:Howtopassvaluefromafragment/activitytoxml?【发布时间】:2022-01-0403:51:29【问题描述】:所以我知道可以在活动和片段之间使用intent传递数据,但是有没有办法将值传递给某些XML文件?说... 查看详情
如何将捆绑从一个活动传递到放置在另一个活动中的片段?
】如何将捆绑从一个活动传递到放置在另一个活动中的片段?【英文标题】:howtopassbundlefromanactivitytoafragmentwhichisplacedinanotheractivity?【发布时间】:2020-05-2820:03:14【问题描述】:我用过bundle来传递flag,但是没用!PersonalInfoFragmentf... 查看详情
如何将上下文从活动传递到服务
】如何将上下文从活动传递到服务【英文标题】:Howtopasscontextfromactivitytoservice【发布时间】:2019-09-0420:46:10【问题描述】:我有一个问题,我需要从服务访问活动中的视图。我认为这样做的一个好方法是传递活动上下文,然后... 查看详情
如何将 LatLng 的数组列表从一个活动传递到另一个活动
】如何将LatLng的数组列表从一个活动传递到另一个活动【英文标题】:HowtopassanarrylistofLatLngfromoneactivitytoanother【发布时间】:2015-09-0509:41:26【问题描述】:我想通过按钮单击将ArrayList的LatLng变量从一个Activity传递给另一个。String... 查看详情
如何将数据从一个活动传递到android中的另一个活动片段? [复制]
】如何将数据从一个活动传递到android中的另一个活动片段?[复制]【英文标题】:Howtopassdatafromoneactivitytootheractivityfragmentinandroid?[duplicate]【发布时间】:2018-04-2306:52:40【问题描述】:我已经将一些键和值数据从一个活动传递到另... 查看详情
Java Android - 将数据从活动发送到片段
...7-12-1608:51:58【问题描述】:过去一天,我一直试图弄清楚如何将数据从Activity传递到Fragment,但还没有走多远。我知道如何将数据从Fragment传递到Activity。我认为我不能针对我的情况使用捆绑包,因为我的Fragment已经创建,并且需... 查看详情
使用可序列化将对象从活动传递到活动的正确方法?
】使用可序列化将对象从活动传递到活动的正确方法?【英文标题】:ProperwayofpassingObjectfromActivitytoActivityusingSerializable?【发布时间】:2015-10-0807:40:50【问题描述】:我正在尝试将一个对象从一个活动传递到另一个活动,我的对... 查看详情
如果几何着色器处于活动状态,如何将信息从顶点着色器传递到片段着色器?
】如果几何着色器处于活动状态,如何将信息从顶点着色器传递到片段着色器?【英文标题】:Howtopassinformationfromvertexshadertofragmentshaderifthereisageometryshaderactive?【发布时间】:2018-03-3108:24:17【问题描述】:在添加几何着色器之前... 查看详情
将整个捆绑(对象)本身从某个活动的片段传递和接收到另一个活动
】将整个捆绑(对象)本身从某个活动的片段传递和接收到另一个活动【英文标题】:Passingandreceivinganentirebundle(object)itselffromfragmentofsomeactivitytoanotheractivity【发布时间】:2021-03-0508:37:29【问题描述】:我正在开发一个android应用... 查看详情
如何将数据从main活动传递到另一个活动(代码片段)
我想将用户输入的名称和号码传递给我的Android应用程序中的FakeRinger类。我在putExtra()的意图中使用了fab.setOnClickListener方法。这是我在MainActivity中使用的代码publicclassMainActivityextendsAppCompatActivitypublicstaticfinalStringLOG_TAG="MainActivit 查看详情
将 Google API 客户端对象从活动传递到滑动选项卡片段
...dle、Serializable和args的newInstance方法,但我的问题是我应该如何以及在何处调用 查看详情
我想将数据从活动传递到片段[重复]
】我想将数据从活动传递到片段[重复]【英文标题】:IWantToPassDataFromActivitytoFragment[duplicate]【发布时间】:2021-07-2901:24:21【问题描述】:我是android开发的新手我正在尝试将数据从Activity传递到Fragment我从另一个活动中获得的这些... 查看详情
如何将数据从 Intent 传递到 Fragment
】如何将数据从Intent传递到Fragment【英文标题】:HowToPassdataFromIntentToFragment【发布时间】:2021-07-1200:52:59【问题描述】:我是kotlin的新手,我想将我的活动中的数据发送到我的选项卡片段,所以在用户数据之后,我想显示与用户... 查看详情
将接口从片段传递到kotlin中的活动
】将接口从片段传递到kotlin中的活动【英文标题】:Passinterfacefromfragmenttoactivityinkotlin【发布时间】:2021-03-0508:28:59【问题描述】:我想将我的界面对象从我的片段传递到我在Kotlin中的新活动。我尝试通过发送作为构造函数参数... 查看详情