/** * */ package com.photoshare.service.share.views; import java.util.ArrayList; import java.util.HashMap; import android.content.Context; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.SimpleAdapter; import com.photoshare.tabHost.R; import com.photoshare.view.listview.CornerListView; /** * @author czj_yy * */ public class PreferenceSettingsView { private View baseView; private Context context; private CornerListView friendsListView = null; private CornerListView actionListView = null; private CornerListView profileListView = null; private ArrayList<HashMap<String, String>> ProfileList = null; private ArrayList<HashMap<String, String>> FriendsList = null; private ArrayList<HashMap<String, String>> ActionList = null; /** * @param baseView * @param context */ public PreferenceSettingsView(View baseView, Context context) { super(); this.baseView = baseView; this.context = context; } public void applyView() { getFriendsDataSource(); getActionDataSource(); getProfileDataSource(); friendsListView = (CornerListView) baseView .findViewById(R.id.personalSettingFriend); SimpleAdapter FriendsAdapter = new SimpleAdapter(context, FriendsList, R.layout.simple_list_item_arrow, new String[] { "friendItem" }, new int[] { R.id.item_title }); friendsListView.setAdapter(FriendsAdapter); friendsListView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { switch (position) { case 0: if (mCallback != null) { mCallback.OnFindFriendClicked(); } break; case 1: if (mCallback != null) { mCallback.OnInviteFriendClicked(); } break; case 2: if (mCallback != null) { mCallback.OnLikedPhotosClicked(); } break; } } }); profileListView = (CornerListView) baseView .findViewById(R.id.personalSettingPhotos); SimpleAdapter ProfileAdapter = new SimpleAdapter(context, ProfileList, R.layout.simple_list_item_arrow, new String[] { "profileItem" }, new int[] { R.id.item_title }); profileListView.setAdapter(ProfileAdapter); profileListView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { switch (position) { case 0: if (mCallback != null) { mCallback.OnEditProfileClicked(); } break; case 1: if (mCallback != null) { mCallback.OnMessagesClicked(); } break; } } }); actionListView = (CornerListView) baseView .findViewById(R.id.personalSettingAccounts); SimpleAdapter ActionAdapter = new SimpleAdapter(context, ActionList, R.layout.simple_list_item_arrow, new String[] { "actionItem" }, new int[] { R.id.item_title }); actionListView.setAdapter(ActionAdapter); actionListView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { Log.e("select", "OK!"); switch (position) { case 0: if (mCallback != null) { mCallback.OnLogoutClicked(); } break; case 1: if (mCallback != null) { mCallback.OnSharePreferenceClicked(); } break; case 2: if (mCallback != null) { mCallback.OnClearHistoryClicked(); } break; case 3: if (mCallback != null) { mCallback.OnUserPrivacyClicked(); } break; } } }); } private ArrayList<HashMap<String, String>> getFriendsDataSource() { FriendsList = new ArrayList<HashMap<String, String>>(); HashMap<String, String> map1 = new HashMap<String, String>(); HashMap<String, String> map2 = new HashMap<String, String>(); HashMap<String, String> map3 = new HashMap<String, String>(); map1.put("friendItem", "寻找朋友"); map2.put("friendItem", "邀请朋友"); map3.put("friendItem", "喜欢的照片"); FriendsList.add(map1); FriendsList.add(map2); FriendsList.add(map3); return FriendsList; } private ArrayList<HashMap<String, String>> getActionDataSource() { ActionList = new ArrayList<HashMap<String, String>>(); HashMap<String, String> map1 = new HashMap<String, String>(); HashMap<String, String> map2 = new HashMap<String, String>(); HashMap<String, String> map3 = new HashMap<String, String>(); HashMap<String, String> map4 = new HashMap<String, String>(); map1.put("actionItem", "下线"); map2.put("actionItem", "分享设置"); map3.put("actionItem", "清空歷史"); map4.put("actionItem", "私有设置"); ActionList.add(map1); ActionList.add(map2); ActionList.add(map3); ActionList.add(map4); return ActionList; } private ArrayList<HashMap<String, String>> getProfileDataSource() { ProfileList = new ArrayList<HashMap<String, String>>(); HashMap<String, String> map1 = new HashMap<String, String>(); HashMap<String, String> map2 = new HashMap<String, String>(); map1.put("profileItem", "修改资料"); map2.put("profileItem", "未发送消息"); ProfileList.add(map1); ProfileList.add(map2); return ProfileList; } private ICallback mCallback; public void registerCallback(ICallback mCallback) { this.mCallback = mCallback; } public interface ICallback { public void OnFindFriendClicked(); public void OnInviteFriendClicked(); public void OnLikedPhotosClicked(); public void OnEditProfileClicked(); public void OnMessagesClicked(); public void OnLogoutClicked(); public void OnSharePreferenceClicked(); public void OnClearHistoryClicked(); public void OnUserPrivacyClicked(); } }