package com.example.test4listview;
import java.util.List;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.annotation.TargetApi;
import android.content.Context;
import android.location.Address;
import android.os.Build;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
/**
* Class description
*
* @author houshengyong
* @since 2015-5-29
*/
public class SearchAdapter extends BaseAdapter {
List<Address> mResultList;
Context mContext;
LayoutInflater mInflater;
public SearchAdapter(List<Address> resultList, Context context) {
mResultList = resultList;
mContext = context.getApplicationContext();
mInflater = LayoutInflater.from(mContext);
}
/*
* (non-Javadoc)
*
* @see android.widget.Adapter#getCount()
*/
@Override
public int getCount() {
return mResultList.size();
}
/*
* (non-Javadoc)
*
* @see android.widget.Adapter#getItem(int)
*/
@Override
public Object getItem(int position) {
return mResultList.get(position);
}
/*
* (non-Javadoc)
*
* @see android.widget.Adapter#getItemId(int)
*/
@Override
public long getItemId(int position) {
return position;
}
/*
* (non-Javadoc)
*
* @see android.widget.Adapter#getView(int, android.view.View, android.view.ViewGroup)
*/
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
// if (convertView == null)
vi = mInflater.inflate(R.layout.search_result_view_list_item_complex, null);
// TextView tvTextView = (TextView) vi.findViewById(R.id.search_result_listview_item_textview);
// tvTextView.setText("name = ..." + mResultList.get(position).getCountryName());
final View menu = vi.findViewById(R.id.expandable);
View buttonView = vi.findViewById(R.id.expandable_toggle_button);
buttonView.setOnClickListener(new OnClickListener() {
@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
@Override
public void onClick(View v) {
menu.animate()
.translationY(0)
.alpha(0.0f)
.setDuration(5000)
.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
menu.setVisibility(View.GONE);
}
});
}
});
// TODO holder
return vi;
}
}