Fragment_hotels:
public class Fragment_hotels extends Fragment {
public static boolean flag=false;
public void Add(){
Target.add("Hotel");
Target.add("Hotel1");
Target.add("Hotel2");
}
static ArrayList<String> Target = new ArrayList<String>();
@Override
public View onCreateView(
LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState){
View view = inflater.inflate(R.layout.fragment_hotels, container,false);
ListView listView = (ListView) view.findViewById(R.id.list);
if (flag==false){
this.Add();
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity().getApplicationContext(),R.layout.mytextview,R.id.tv, Target);
adapter.setNotifyOnChange(true);
// Assign adapter to ListView
listView.setAdapter(adapter);
return view;
}
}
和FragmentAddHotel:
public class FragmentAddHotel extends Fragment {
public View onCreateView(
LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState){
View rootView = inflater.inflate(R.layout.fragment_add_hotel, container, false);
return rootView;
}
}
我的FragmentAddHotel布局上有一个edittext和一个按钮。 如何从edittext获取值并将其添加到列表视图中? 很抱歉,如果类似的问题已经得到解答,但我是初级程序员。 Tnx提前:))
答案 0 :(得分:1)
要从另一个视图更新课程中的视图,您可以在此处使用EventBus库link
只需添加以下内容即可注册您的第一堂课:
。EventBus.getDefault()寄存器(本); //在包含onCreate方法列表视图的侦听器类中。
同时实施接收方法:
app/controller/passwords_controller.rb
要从片段发送数据,只需使用:
EventBus.getDefault()后( “edittextvalue”);
另外不要忘记致电:
。EventBus.getDefault()取消注册(这); //在你的监听器类onDestroy()方法中。
答案 1 :(得分:0)
在YourActivity中:
Fragment_hotels frag_hotels;
void addItem(String item){
frag_hotels.addItemToList(item);
}
<强> Fragment_hotels:强>
List<String> hotelList;
ArrayAdapter<String> adapter;
void addItemToList(String item){
hotelList.add(item);
adapter.notifyDataSetChanged();
}
在FragmentAddHotel中:
// you should call whenever adding is need in fragment
((YourActivity)getActivity()).addItem("Your Item");
通过YourActivity,您可以传达每个片段。