package com.bigdo.app; import java.util.HashMap; import org.json.JSONObject; import com.bigdo.common.BDSQLiteHelper; import com.bigdo.common.Login; import com.bigdo.common.RConfig; import com.bigdo.common.RState; import com.bigdo.common.User; import com.bigdo.controls.XListView; import com.bigdo.util.WSCheck; import com.bigdo.util.WSHelper; import com.bigdo.util.WSResult; import android.annotation.SuppressLint; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; public class Me_Favorite_Activity extends BaseActivity { VdieoBll vbll; LinearLayout tools_host; ExtensionColumn[] column; int cur_pos = 0; User user = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.me_favorite_activity); init(); View com_title = (View) this.findViewById(R.id.com_title_host); TextView bd_title_name = (TextView) com_title .findViewById(R.id.sub_com_title_context); bd_title_name.setText("我的收藏"); Button bd_title_back = (Button) com_title .findViewById(R.id.sub_com_title_back); bd_title_back.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } }); vbll = new VdieoBll(this); vbll.onCreate(savedInstanceState); vbll.loadData(); } public void init() { user = Login.get(this); column = new ExtensionColumn[1]; column[0] = new ExtensionColumn(); column[0].type = ExtensionColumn.INT; column[0].column = "idcollect"; } @Override public void onVideoBroadcast(Intent intent) { // TODO Auto-generated method stub } @Override public void onClearData() { // TODO Auto-generated method stub } private void showBTools(int pos) { cur_pos = pos; if (tools_host == null) { tools_host = (LinearLayout) findViewById(R.id.b_tools_host); Button tools_0 = (Button) findViewById(R.id.b_tools_0); Button tools_1 = (Button) findViewById(R.id.b_tools_1); Button tools_2 = (Button) findViewById(R.id.b_tools_2); tools_host.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { if (tools_host.getVisibility() == LinearLayout.GONE) { tools_host.setVisibility(LinearLayout.VISIBLE); } else { tools_host.setVisibility(LinearLayout.GONE); } } }); tools_0.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { tools_host.setVisibility(LinearLayout.GONE); } }); tools_1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { tools_host.setVisibility(LinearLayout.GONE); vbll.goVideoDetail(cur_pos); } }); tools_2.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { tools_host.setVisibility(LinearLayout.GONE); delCollect(); } }); } if (tools_host.getVisibility() == LinearLayout.GONE) { tools_host.setVisibility(LinearLayout.VISIBLE); } else { tools_host.setVisibility(LinearLayout.GONE); } } private void delCollect() { if (vbll != null && vbll.data != null) { HashMap<String, Object> mp = vbll.data.get(cur_pos); if (mp != null) { int idcollect = (Integer) mp.get("idcollect"); if (idcollect >= 0) { JSONObject jparam = new JSONObject(); try { jparam.put("idcollect", idcollect); } catch (Exception e) { this.showInfo("准备请求参数出错."); return; } showProgress("删除中.."); String url = RConfig.delCollect(this); String data = jparam.toString(); WSHelper ws = new WSHelper(this, "", false, handler, url, "", WSHelper.getStringEntity(data), 0, 0, 0, 0, WSHelper.POST); ws.start(); Log.e("delCollect", url); Log.e("delCollect_data", data); return; } } } showInfo("收藏数据有误"); } @SuppressLint("HandlerLeak") protected Handler handler = new Handler() { public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.arg1 == RState.WSCall) { JSONObject jresult = WSCheck.Json(Me_Favorite_Activity.this, msg); hiddenProgress(); cancelFinish(jresult); } } }; private void cancelFinish(JSONObject jresult) { if (vbll != null && jresult != null) { BDSQLiteHelper sqlobj = null; SQLiteDatabase sqlobj_w = null; try { int idcollect = jresult.getInt("idcollect"); if (idcollect >= 0) { sqlobj = new BDSQLiteHelper(this); sqlobj_w = sqlobj.getWritableDatabase(); int c = 0; try { c = sqlobj_w.delete("collect", "idcollect = ?", new String[] { idcollect + "" }); if (c > 0 && vbll.data != null && vbll.ad != null) { int lg = vbll.data.size(); for (int i = 0; i < lg; i++) { HashMap<String, Object> mp = vbll.data.get(i); if (mp != null) { if (idcollect == (Integer) mp .get("idcollect")) { vbll.data.remove(i); vbll.ad.notifyDataSetChanged(); vbll.checkHasData(false); break; } } } } } catch (Exception ee) { } if (c > 0) { messageBox("删除成功"); } } } catch (Exception e) { } try { if (sqlobj_w != null) { sqlobj_w.close(); sqlobj_w = null; } } catch (Exception ex) { } try { if (sqlobj != null) { sqlobj.close(); sqlobj = null; } } catch (Exception ex) { } } } public class VdieoBll extends SingleImgVideo { public VdieoBll(BaseActivity a) { super(a); // TODO Auto-generated constructor stub } @Override protected XListView videoList() { // TODO Auto-generated method stub return (XListView) findViewById(R.id.video_list); } @Override protected TextView noData() { // TODO Auto-generated method stub return (TextView) findViewById(R.id.video_list_no_data); } @Override protected boolean isCache() { // TODO Auto-generated method stub return true; } @Override protected boolean batch(int op) { // TODO Auto-generated method stub return false; } @Override protected int count() { // TODO Auto-generated method stub return Integer.MAX_VALUE; } @Override protected boolean refresh() { // TODO Auto-generated method stub return true; } @Override protected boolean loadMore() { // TODO Auto-generated method stub return false; } @Override protected String updateWhere(int op) { // TODO Auto-generated method stub return "user = ?"; } @Override protected String selectWhere(int op) { // TODO Auto-generated method stub return "user = ?"; } @Override protected String[] updateField(int op) { return new String[] { "user" }; } @Override protected String[] updateVal(int op) { return new String[] { user != null ? user.user : "" }; } @Override protected String[] selectField(int op) { return new String[] { "user" }; } @Override protected String[] selectVal(int op) { return new String[] { user != null ? user.user : "" }; } @Override protected String orderBy(int op) { return "idcollect desc"; } @Override protected String table() { return "collect"; } @Override protected String service() { return RConfig.collect(Me_Favorite_Activity.this); } @Override protected JSONObject param(int op) { JSONObject jparam = new JSONObject(); try { jparam.put("user", user != null ? user.user : ""); } catch (Exception e) { } return null; } @Override protected boolean free() { return false; } @Override protected void wsCall(WSResult result) { } @Override protected boolean onGoVideoDetail(int pos) { showBTools(pos); return true; } @Override protected ExtensionColumn[] extensionColumn() { // TODO Auto-generated method stub return column; } } public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { if (tools_host != null && tools_host.getVisibility() == View.VISIBLE) { tools_host.setVisibility(LinearLayout.GONE); return true; } } return super.onKeyDown(keyCode, event); } }