package com.jaydenxiao.androidfire.ui.zone.activity; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.support.v4.content.ContextCompat; import android.text.TextUtils; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import com.jaydenxiao.androidfire.R; import com.jaydenxiao.androidfire.app.AppConstant; import com.jaydenxiao.androidfire.ui.zone.adapter.NinePicturesAdapter; import com.jaydenxiao.androidfire.ui.zone.bean.CircleItem; import com.jaydenxiao.common.base.BaseActivity; import com.jaydenxiao.common.baseapp.AppCache; import com.jaydenxiao.common.commonutils.ImageLoaderUtils; import com.jaydenxiao.common.commonutils.ToastUitl; import com.jaydenxiao.common.commonwidget.NoScrollGridView; import com.jaydenxiao.common.commonwidget.NormalTitleBar; import com.yuyh.library.imgsel.ImageLoader; import com.yuyh.library.imgsel.ImgSelActivity; import com.yuyh.library.imgsel.ImgSelConfig; import java.util.List; import butterknife.Bind; import butterknife.OnClick; /** * des:发布说说 * Created by xsf * on 2016.09.11:49 */ public class CirclePublishActivity extends BaseActivity implements View.OnClickListener { @Bind(R.id.ntb) NormalTitleBar ntb; @Bind(R.id.et_content) EditText etContent; @Bind(R.id.gridview) NoScrollGridView gridview; private NinePicturesAdapter ninePicturesAdapter; private int REQUEST_CODE=120; /** * 启动入口 * @param context */ public static void startAction(Context context) { Intent intent = new Intent(context, CirclePublishActivity.class); context.startActivity(intent); } @Override public int getLayoutId() { return R.layout.act_publish_zone; } @Override public void initPresenter() { } @Override public void initView() { ntb.setTitleText(getString(R.string.zone_publish_title)); ninePicturesAdapter = new NinePicturesAdapter(this,9, new NinePicturesAdapter.OnClickAddListener() { @Override public void onClickAdd(int positin) { choosePhoto(); } }); gridview.setAdapter(ninePicturesAdapter); } @OnClick({R.id.tv_back,R.id.tv_save}) public void onClick(View view) { switch (view.getId()){ case R.id.tv_back: finish(); break; case R.id.tv_save: if(!TextUtils.isEmpty(etContent.getText().toString())) { CircleItem circleItem = new CircleItem(); circleItem.setContent(etContent.getText().toString()); circleItem.setPictures(getPictureString()); circleItem.setIcon(AppCache.getInstance().getIcon()); circleItem.setUserId(AppCache.getInstance().getUserId()); circleItem.setNickName(AppCache.getInstance().getUserName()); circleItem.setCreateTime(Long.parseLong("1471942968000")); mRxManager.post(AppConstant.ZONE_PUBLISH_ADD,circleItem); finish(); }else{ ToastUitl.showToastWithImg(getString(R.string.circle_publish_empty),R.drawable.ic_warm); } break; } } /** * 开启图片选择器 */ private void choosePhoto() { ImgSelConfig config = new ImgSelConfig.Builder(loader) // 是否多选 .multiSelect(true) // 确定按钮背景色 .btnBgColor(Color.TRANSPARENT) .titleBgColor(ContextCompat.getColor(this,R.color.main_color)) // 使用沉浸式状态栏 .statusBarColor(ContextCompat.getColor(this,R.color.main_color)) // 返回图标ResId .backResId(R.drawable.ic_arrow_back) .title("图片") // 第一个是否显示相机 .needCamera(true) // 最大选择图片数量 .maxNum(9-ninePicturesAdapter.getPhotoCount()) .build(); ImgSelActivity.startActivity(this, config, REQUEST_CODE); } private ImageLoader loader = new ImageLoader() { @Override public void displayImage(Context context, String path, ImageView imageView) { ImageLoaderUtils.display(context,imageView,path); } }; @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null) { List<String> pathList = data.getStringArrayListExtra(ImgSelActivity.INTENT_RESULT); if(ninePicturesAdapter!=null){ ninePicturesAdapter.addAll(pathList); } } } /** * 获取到拼接好的图片 * @return */ private String getPictureString(){ //拼接图片链接 List<String> strings = ninePicturesAdapter.getData(); if (strings != null && strings.size() > 0) { StringBuilder allUrl = new StringBuilder(); for (int i = 0; i < strings.size(); i++) { if (!TextUtils.isEmpty(strings.get(i))) { allUrl.append(strings.get(i) + ";"); } } if (!TextUtils.isEmpty(allUrl)) { String url = allUrl.toString(); url = url.substring(0, url.lastIndexOf(";")); return url; }else{ return ""; } }else{ return ""; } } }