package com.asha.nightowl.fragments;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import com.asha.nightowl.DetailActivity;
import com.asha.nightowl.R;
import static com.asha.nightowl.DemoUtil.fetchFakeImage;
/**
* Created by hzqiujiadi on 15/11/9.
* hzqiujiadi ashqalcn@gmail.com
*/
public class ListViewFragment extends Fragment {
public static ListViewFragment newInstance() {
Bundle args = new Bundle();
ListViewFragment fragment = new ListViewFragment();
fragment.setArguments(args);
return fragment;
}
public ListViewFragment() {
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
ListView listView = (ListView) view.findViewById(R.id.listview);
listView.setAdapter(new DemoAdapter());
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
DetailActivity.launch(view.getContext());
}
});
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_list_view, container, false);
}
public static class DemoAdapter extends BaseAdapter{
LayoutInflater mLayoutInflater;
@Override
public int getCount() {
return 40;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if ( convertView == null ){
if ( mLayoutInflater == null )
mLayoutInflater = LayoutInflater.from(parent.getContext());
convertView = mLayoutInflater.inflate(R.layout.item_view1,parent,false);
}
VH vh = (VH) convertView.getTag();
if( vh == null ){
vh = new VH(convertView);
convertView.setTag(vh);
}
vh.bind(position);
return convertView;
}
}
public static class VH {
ImageView mImageView;
public VH(View mView) {
mImageView = (ImageView) mView.findViewById(R.id.image);
}
public void bind(int position){
mImageView.setImageResource(fetchFakeImage(position));
}
}
}