package com.mgw.member.ui.activity; /**create by hyb * modify by hy * */ import java.util.ArrayList; import java.util.List; import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.graphics.Color; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.hx.hxchat.activity.AddContactActivity; import com.hx.hxchat.activity.AlertDialog; import com.hx.hxchat.adapter.AddcontactAdapter.ViewHold; import com.hx.hxchat.domain.UserFriendBean.Items; import com.hx.hxchat.utils.CommonUtils; import com.hx.hxchat.utils.UserUtils; import com.mgw.member.R; import com.mgw.member.bean.SkinInfo; import com.mgw.member.manager.BaseApplication; import com.mgw.member.uitls.ZipUtil; public class ChangeSkinActivity extends MGWBaseActivity { private ListView listview; private ChangeSkinAdapter changeSkinAdapter; private List<SkinInfo> mSkinInfos; String skinBasePath = "/data/data/com.mgw.member/skin"; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); } @Override protected void init() { setContentView(R.layout.activity_change_skin); mSkinInfos = new ArrayList<SkinInfo>(); { SkinInfo info0 = new SkinInfo(0, "默认", "s", "/sdcard/mgw/skin.zip","1"); SkinInfo info1 = new SkinInfo(1, "绿色海洋", "skin.zip", "/sdcard/mgw/unziphtml/skins/skin_green.zip", "1"); SkinInfo info2 = new SkinInfo(2, "红红火火", "skin_red.zip", "/sdcard/mgw//unziphtml/skins/skin_red.zip", "1"); SkinInfo info3 = new SkinInfo(3, "高贵冷紫", "skin_purple.zip", "/sdcard/mgw/skin.zip", "0"); SkinInfo info4 = new SkinInfo(4, "白雪纷飞", "skin_snow.zip", "/sdcard/mgw/skin.zip", "0"); mSkinInfos.add(info0); mSkinInfos.add(info1); mSkinInfos.add(info2); mSkinInfos.add(info3); mSkinInfos.add(info4); } listview = (ListView) findViewById(R.id.listview); changeSkinAdapter = new ChangeSkinAdapter(ChangeSkinActivity.this, mSkinInfos); listview.setAdapter(changeSkinAdapter); listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { } }); } private void setSkin(final SkinInfo sinfo) { if (sinfo != null) { new AsyncTask<Void, Void, String>() { @Override protected String doInBackground(Void... params) { SharedPreferences preferences = getSharedPreferences("skin", 0); Editor edit = preferences.edit(); String result=""; if ((!"默认".equals(sinfo.getSkinName()))) { if(!"1".equals(sinfo.getIsLocalExist())){ result="需要联网下载!"; }else{ //TODO ant.jar暂时删除 // edit.putBoolean("useSkin", true); // ZipUtil zipp = new ZipUtil(2049); // zipp.unZip(sinfo.getSkinDownloadUrl(), skinBasePath); // edit.commit(); // result=sinfo.getSkinName() + ":导入成功"; } } else { edit.putBoolean("useSkin", false); edit.commit(); result=sinfo.getSkinName() + ":导入成功"; } return result ; } protected void onPostExecute(String result) { Toast.makeText(ChangeSkinActivity.this, result, Toast.LENGTH_SHORT).show(); }; }.execute(); } } public class ChangeSkinAdapter extends BaseAdapter { /** 上下文 */ private final Context context; /** item 列表 */ ChangeSkinActivity changeSkinActivity; private final List<SkinInfo> data; public Dialog progressDialog; public LayoutInflater inflater; public ChangeSkinAdapter(Context context, List<SkinInfo> data) { this.context = context; this.changeSkinActivity = (ChangeSkinActivity) context; this.data = data; inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public int getCount() { return data.size(); } @Override public Object getItem(int arg0) { return 0; } @Override public long getItemId(int arg0) { return 0; } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHold hold = null; if (convertView == null) { convertView = inflater.inflate(R.layout.item_changeskin, parent, false); } if (hold == null) { hold = new ViewHold(); hold.name = (TextView) convertView.findViewById(R.id.name); hold.avater = (ImageView) convertView.findViewById(R.id.avatar); hold.btn_add = (Button) convertView.findViewById(R.id.indicator); hold.tv_local = (TextView) convertView.findViewById(R.id.tv_local); convertView.setTag(hold); } else { hold = ((ViewHold) convertView.getTag()); } final SkinInfo sinfo = data.get(position); if (sinfo != null) { hold.name.setText(sinfo.getSkinName()); // UserUtils.setUserAvatar(context, // Uri.parse(sinfo.getMemberPic()), hold.avater); hold.tv_local.setText((sinfo.getIsLocalExist() != null && "1".equals(sinfo.getIsLocalExist())) ? "" : "需下载"); hold.tv_local.setTextColor(Color.GREEN); hold.btn_add.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // 使用 setSkin(sinfo); } }); } return convertView; } public class ViewHold { public TextView name; public TextView tv_local; public ImageView avater; public Button btn_add; } } }