package iShamrock.Postal.activity; import android.app.ListActivity; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.*; import iShamrock.Postal.R; import iShamrock.Postal.activity.publishers.ButtonTouchAnimationListener; import iShamrock.Postal.activity.publishers.PEditor; import iShamrock.Postal.database.Database; import iShamrock.Postal.entity.User; import java.util.ArrayList; /** * Created by lifengshuang on 2/15/15. */ public class MyFriends extends ListActivity { private FriendAdapter adapter; private ImageView friends_add, friends_cancel; private ArrayList<User> friend = Database.getFriend(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.friends); initCommonComponents(); } @Override protected void onResume() { super.onResume(); if (adapter != null){ friend = Database.getFriend(); adapter.notifyDataSetChanged(); } } private void initCommonComponents() { friends_add = (ImageView) findViewById(R.id.friends_add); friends_add.setOnTouchListener(new ButtonTouchAnimationListener(friends_add)); friends_add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent friendsIntent = new Intent(MyFriends.this, AddFriend.class); startActivity(friendsIntent); } }); adapter = new FriendAdapter(this); setListAdapter(adapter); friends_cancel = (ImageView) findViewById(R.id.friends_cancel); friends_cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); friends_cancel.setOnTouchListener(new ButtonTouchAnimationListener(friends_cancel)); } public final class ViewHolder { ImageView imageView; TextView name; ImageView send; } public class FriendAdapter extends BaseAdapter { private LayoutInflater mInflater; public FriendAdapter(Context context) { mInflater = LayoutInflater.from(context); } @Override public int getCount() { return friend.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder holder; if (view == null) { holder = new ViewHolder(); view = mInflater.inflate(R.layout.friends_item, null); holder.imageView = (ImageView) view.findViewById(R.id.friends_img); holder.name = (TextView) view.findViewById(R.id.friends_name); holder.send = (ImageView) view.findViewById(R.id.friends_send); view.setTag(holder); } else { holder = (ViewHolder) view.getTag(); } try { holder.imageView.setImageBitmap(MediaStore.Images.Media.getBitmap(getContentResolver(), Uri.parse(friend.get(i).getPhotoURI()))); } catch (Exception e) { e.printStackTrace(); holder.imageView.setImageResource(R.drawable.zhihu); } holder.name.setText(friend.get(i).getNickname()); final int i_copy = i; holder.send.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(MyFriends.this, PEditor.class); intent.putExtra("to_user", friend.get(i_copy).getPhone()); startActivity(intent); finish(); } }); return view; } } }