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
;
}
}
}
}