public class Fragment1 extends Fragment{
private ListView listView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.fragment1,null);
listView = (ListView) view.findViewById(R.id.listview);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
final ArrayList<String> list=new ArrayList<>();
list.clear();
for (int i=0;i<20;i++){
list.add("條目"+i);
}
listView.setAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_expandable_list_item_1,list));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//點擊傳值
listener.onFragmentClick(list.get(position));
}
});
}
//接口
private OnFragmentClickListener listener;
public interface OnFragmentClickListener {
void onFragmentClick(String item);
}
public void setOnFragmentClickListener(OnFragmentClickListener listener){
this.listener=listener;
}
}
public class Fragment2 extends Fragment{
private TextView textView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.fragment2,null);
textView = (TextView) view.findViewById(R.id.text);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
FragmentManager fragmentManager = getActivity().getFragmentManager();
Fragment1 fragment1= (Fragment1) fragmentManager.findFragmentById(R.id.fragment1);
//fragment監聽
fragment1.setOnFragmentClickListener(new Fragment1.OnFragmentClickListener() {
@Override
public void onFragmentClick(String item) {
textView.setText(item);
}
});
}
}