主要流程: Activity中Viewpager 通过Fragment List 获取切换中的Fragment,Fragment 逐个获取ListView中的元素来显示。
MainActivity:
public class TestFragment extends Fragment {
private static final String TAG = "TestFragment";
private String hello;// = "hello android";
private String defaultHello = "default value";
private Map<String, Object> maplist;
static TestFragment newInstance(String s, Map<String, Object> map) {
TestFragment newFragment = new TestFragment();
// Bundle bundle = new Bundle();
// bundle.putString("hello", s);
// newFragment.setArguments(bundle);
final SerializableMap myMap=new SerializableMap();
myMap.setMap(map);
Bundle bundle = new Bundle();
bundle.putSerializable("map", myMap);
newFragment.setArguments(bundle);
return newFragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG, "TestFragment-----onCreate");
Bundle args = getArguments();
// hello = args != null ? args.getString("hello") : defaultHello;
Bundle bundle = getArguments();
SerializableMap serializableMap = (SerializableMap) bundle.get("map");
maplist =serializableMap.getMap();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
Log.d(TAG, "TestFragment-----onCreateView");
View view = inflater.inflate(R.layout.lay1, container, false);
// TextView viewhello = (TextView) view.findViewById(R.id.tv_hello);
//viewhello.setText(maplist.get("userid")+"time");
ListView lv = (ListView) view.findViewById(R.id.listView3);
ContactAdapter hc = new ContactAdapter(getActivity().getApplicationContext(),getContact());
lv.setAdapter(hc);
lv.setCacheColorHint(0);
lv.setOnItemClickListener(new OnItemClickListenerImpl());
return view;
}
private class OnItemClickListenerImpl implements OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Toast.makeText(getActivity(), "OK", Toast.LENGTH_SHORT).show();
}
}
private ArrayList<Contact> getContact(){
ArrayList<Contact> hcList = new ArrayList<Contact>();