package info.justaway.adapter; import android.content.Context; import android.content.Intent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import info.justaway.ProfileActivity; import info.justaway.R; import info.justaway.UserListActivity; import info.justaway.util.ImageUtil; import twitter4j.UserList; public class UserListAdapter extends ArrayAdapter<UserList> { static class ViewHolder { TextView list_name; TextView screen_name; TextView description; TextView member_count; } private Context mContext; private LayoutInflater mInflater; private int mLayout; public UserListAdapter(Context context, int textViewResourceId) { super(context, textViewResourceId); mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); mContext = context; mLayout = textViewResourceId; } @Override public View getView(int position, View convertView, ViewGroup parent) { // ビューを受け取る ViewHolder holder; View view = convertView; if (view == null) { // 受け取ったビューがnullなら新しくビューを生成 view = mInflater.inflate(this.mLayout, null); if (view == null) { return null; } holder = new ViewHolder(); holder.list_name = ((TextView) view.findViewById(R.id.list_name)); holder.screen_name = ((TextView) view.findViewById(R.id.screen_name)); holder.description = ((TextView) view.findViewById(R.id.description)); holder.member_count = ((TextView) view.findViewById(R.id.member_count)); view.setTag(holder); } else { holder = (ViewHolder) view.getTag(); } final UserList userList = getItem(position); ImageView icon = (ImageView) view.findViewById(R.id.icon); String iconUrl = userList.getUser().getBiggerProfileImageURL(); ImageUtil.displayRoundedImage(iconUrl, icon); holder.list_name.setText(userList.getName()); holder.screen_name.setText(userList.getUser().getScreenName() .concat(mContext.getString(R.string.label_created_by))); holder.description.setText(userList.getDescription()); holder.member_count.setText(String.valueOf(userList.getMemberCount()) .concat(mContext.getString(R.string.label_members))); icon.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(v.getContext(), ProfileActivity.class); intent.putExtra("screenName", userList.getUser().getScreenName()); mContext.startActivity(intent); } }); view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(v.getContext(), UserListActivity.class); intent.putExtra("userList", userList); mContext.startActivity(intent); } }); return view; } }