package net.coding.program.user; import android.app.Activity; import android.view.View; import android.widget.AdapterView; import android.widget.GridView; import com.loopj.android.http.RequestParams; import net.coding.program.R; import net.coding.program.common.Global; import net.coding.program.common.ui.BackActivity; import net.coding.program.model.AccountInfo; import net.coding.program.model.UserObject; import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.EActivity; import org.androidannotations.annotations.Extra; import org.androidannotations.annotations.OptionsItem; import org.androidannotations.annotations.OptionsMenu; import org.androidannotations.annotations.ViewById; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @EActivity(R.layout.activity_user_edit_tags) @OptionsMenu(R.menu.set_password) public class SetUserTagActivity extends BackActivity { final String HOST_USERINFO = Global.HOST_API + "/user/updateInfo"; @Extra("title") String title; String tags; UserObject user; @ViewById GridView gridView; JSONArray tagJSONArray; String HOST_USER_TAG_LIST = Global.HOST_API + "/tagging/user_tag_list"; UserTagAdapter adapter; private AdapterView.OnItemClickListener onTagClickListener = new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { adapter.setSelectedTag(position); } }; @AfterViews protected final void initSetUserTagActivity() { showDialogLoading(); getSupportActionBar().setTitle(title); user = AccountInfo.loadAccount(this); tags = user.tags; getNetwork(HOST_USER_TAG_LIST, HOST_USER_TAG_LIST); tagJSONArray = new JSONArray(); //adapter.set adapter = new UserTagAdapter(SetUserTagActivity.this, tags, tagJSONArray); gridView.setAdapter(adapter); gridView.setOnItemClickListener(onTagClickListener); } @OptionsItem void submit() { RequestParams params = new RequestParams(); /*if(true){ return; }*/ user.tags = adapter.getSelected(); //user.tags_str = adapter.getSelectedStr(); try { params.put("email", user.email); params.put("lavatar", user.lavatar); params.put("name", user.name); params.put("sex", user.sex); params.put("phone", user.phone); params.put("birthday", user.birthday); params.put("location", user.location); params.put("company", user.company); params.put("slogan", user.slogan); params.put("introduction", user.introduction); params.put("job", user.job); params.put("tags", user.tags); postNetwork(HOST_USERINFO, params, HOST_USERINFO); } catch (Exception e) { showMiddleToast(e.toString()); } } @Override public void parseJson(int code, JSONObject respanse, String tag, int pos, Object data) throws JSONException { if (tag.equals(HOST_USERINFO)) { if (code == 0) { user = new UserObject(respanse.getJSONObject("data")); AccountInfo.saveAccount(this, user); showButtomToast("修改成功"); setResult(Activity.RESULT_OK); //AccountInfo.saveAccount(this, user); finish(); } else { showErrorMsg(code, respanse); } } else if (tag.equals(HOST_USER_TAG_LIST)) { hideProgressDialog(); if (code == 0) { tagJSONArray = respanse.getJSONArray("data"); adapter.setTagJSONArray(tagJSONArray); adapter.notifyDataSetChanged(); } else { showErrorMsg(code, respanse); } } } }