[英]How to send to texts to listview using fragment activity
我使用带有两个选项卡的viewpager创建了片段活动,并创建了带有两个textviews的listview。 我想将两个文本从选项卡一发送到选项卡二作为标题和描述。 我已成功发送了说明,但未能发送标题(]我只能向列表视图发送一个文本)。
我的fragment_one.java:
public void onViewCreated(final View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
viewPager = (ViewPager)view.findViewById(R.id.viewPager);
Button btnPassData = (Button) view.findViewById(R.id.btnPassData);
final ListView list=(ListView)view.findViewById(R.id.list_view);
final EditText inData = (EditText) view.findViewById(R.id.inMessage);
btnPassData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SM.sendData(inData.getText().toString().trim());
}
});
}
interface SendMessage {
void sendData(String message);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
try {
SM = (SendMessage) getActivity();
} catch (ClassCastException e) {
throw new ClassCastException("Error in retrieving data. Please try again");
}
}
}
我的fragment_two.java:
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(
R.layout.fragment_two, container, false);
return rootView;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
listView = (ListView) view.findViewById(R.id.list_view);
adapter = new ArrayAdapter<String>(getActivity(), R.layout.single_item,R.id.tvdesc, arrayList);
listView.setAdapter(adapter);
}
protected void displayReceivedData(String message) {
arrayList.add(0,message);
adapter.notifyDataSetChanged();
}
}
您应该使用从fragment_one到主要活动的回调数据,并将数据从活动发送到fragment_two(和刷新视图)
可以使用Activity的Fragment回调。如何在Activity和Fragment之间进行回调?
和Fragment_two,您可以在Activity,EX,私有Fragment mFragmentTwo中设置此值; ......... mFragmentTwo = new Fragment();
并可以通过功能设置值:mFragmentTwo.displayReceivedData(yourString)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.