import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
public class Page1Activity extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.list_item_layout, container, false);
return layout;
}
public class Fragment extends FragmentActivity {
private ListView userList;
private UserAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page1);
adapter = new UserAdapter(getActivity());
userList = (ListView) findViewById(R.id.user_list);
userList.setAdapter(adapter);
User u1 = new User(getResources().getDrawable(R.drawable.test_user_icon1), "김씨", "010-1234-5678");
adapter.add(u1);
User u2 = new User(getResources().getDrawable(R.drawable.test_user_icon2), "이씨", "010-8765-4321");
adapter.add(u2);
User u3 = new User(getResources().getDrawable(R.drawable.test_user_icon3), "박씨", "010-0000-0000");
adapter.add(u3);
adapter.notifyDataSetChanged();
}
}
public class User {
private Drawable mUserIcon;
private String mUserName;
private String mUserPhoneNumber;
User(Drawable userIcon, String userName, String userPhoneNumber){
mUserIcon = userIcon;
mUserName = userName;
mUserPhoneNumber = userPhoneNumber;
}
public Drawable getUserIcon() {
return mUserIcon;
}
public String getUserName() {
return mUserName;
}
public String getUserPhoneNumber() {
return mUserPhoneNumber;
}
}
public class UserAdapter extends BaseAdapter implements View.OnClickListener {
private User mUser;
private Context mContext;
private ImageView imgUserIcon;
private TextView tvUserName;
private TextView tvUserPhoneNumber;
private ImageButton btnSend;
private ArrayList<User> mUserData;
public UserAdapter(Context context) {
super();
mContext = context;
mUserData = new ArrayList<User>();
}
@Override
public int getCount() {
return mUserData.size();
}
@Override
public User getItem(int position) {
return mUserData.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
v = ((LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE))
.inflate(R.layout.list_item_layout, null);
}
imgUserIcon = (ImageView) v.findViewById(R.id.user_icon);
tvUserName = (TextView) v.findViewById(R.id.user_name);
tvUserPhoneNumber = (TextView) v.findViewById(R.id.user_phone_number);
btnSend = (ImageButton) v.findViewById(R.id.btn_send);
mUser = getItem(position);
btnSend.setTag(mUser);
if ( mUser != null ){
if ( mUser.getUserIcon() != null ){
imgUserIcon.setImageDrawable(mUser.getUserIcon());
}
tvUserName.setText(mUser.getUserName());
tvUserPhoneNumber.setText(mUser.getUserPhoneNumber());
btnSend.setOnClickListener(this);
}
return v;
}
public void add(User user){
mUserData.add(user);
}
@Override
public void onClick(View v) {
User clickItem = (User)v.getTag();
switch (v.getId()){
case R.id.btn_send:
Toast.makeText(mContext, clickItem.getUserPhoneNumber(), Toast.LENGTH_SHORT).show();
break;
}
}
}
}
안되요 ㅠㅠㅠ