gpt4 book ai didi

java - 将数据发送到 viewpager 的特定 fragment

转载 作者:行者123 更新时间:2023-11-30 05:11:39 25 4
gpt4 key购买 nike

我有一个带有动态 fragment 数的 ViewPager。当用户在特定 fragment 中输入数据并按下“发送”按钮时, Activity 中的方法将输入的数据发送到服务器,然后 Activity 接收响应。如何将接收到的数据正确发送到特定的 fragment ?非常感谢!

fragment :

public class ViewPagerFragment extends Fragment {

private TextView someText;
private Button sendTextButton;
private int pageId;
...
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.my_fragment, container, false);
someText = view.findViewById(R.id.someText);
sendTextButton = view.findViewById(R.id.sendTextButton);
sendTextButton.setOnClickListener(v -> {
((MyListener)getActivity()).onSend(pageId, someText);
});
return view;
}
...
}

Activity 类:

public class TestActivity extends AppCompatActivity implements MyListener {

private MyViewModel myViewModel;
...
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_layout);
...
myViewModel = ViewModelProviders.of(this, new ViewModelFactory(MyRepository.getInstance())).get(MyViewModel.class);

myViewModel.sendResultResource().observe(this, data -> {
switch (data.status) {
case SUCCESS: {
// how to return the result to the fragment?
break;
}
case LOADING: {
setLoading(true);
break;
}
case ERROR: {
showError(data.message);
break;
}
}
});

}

@Override
public void onSend(int pageId, String text) {
myViewModel.sendAnswer(problemId, answers);
}

}
...

寻呼机适配器:

public class MyPagerAdapter extends FragmentPagerAdapter {
private List<Data> dataList;
public MyPagerAdapter(FragmentManager fragmentManager, List<Data> dataList) {
super(fragmentManager);
this.dataList = dataList;
}

@Override
public int getCount() {
return dataList.size();
}

@Override
public MyFragment getItem(int position) {
return MyFragment.newInstance(position, dataList.get(position));
}

最佳答案

把它写在 bundle 里怎么样?你怎么看?

关于java - 将数据发送到 viewpager 的特定 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53621646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com