添加开服继续优化(还差post请求)

This commit is contained in:
kehaoyuan
2018-05-31 17:35:12 +08:00
parent 9797841280
commit 5eb815dba7
7 changed files with 75 additions and 19 deletions

View File

@ -6,6 +6,7 @@ import android.support.v4.content.ContextCompat;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
@ -65,28 +66,35 @@ public class BindingAdapters {
}
}
@BindingAdapter({"addKaiFuNote"})
public static void addKaiFuTime(TextView view, String note) {
view.setText(note);
}
@BindingAdapter({"addKaiFuTime", "addKaiFuPosition"})
public static void addKaiFuTime(TextView view, Long time, Integer position) {
public static void addKaiFuTime(EditText view, Long time, Integer position) {
if (time == 0) {
view.setText("点击选择");
} else {
String pattern;
if (position == 0) {
pattern = "yyy-MM-dd hh:mm +";
pattern = "yyy-MM-dd HH:mm +";
} else {
pattern = "yyy-MM-dd hh:mm";
pattern = "yyy-MM-dd HH:mm";
}
SimpleDateFormat format = new SimpleDateFormat(pattern, Locale.CHINA);
view.setText(format.format(time * 1000));
}
}
@BindingAdapter({"kaiFuTextColor", "kaiFuTextPosition"})
public static void kaiFuTextColor(EditText view, Integer dataMark, Integer position) {
if (dataMark == 1 && view.getId() == R.id.kaifu_add_time
|| dataMark == 2 && view.getId() == R.id.kaifu_add_name
|| dataMark == 3 && view.getId() == R.id.kaifu_add_remark
|| dataMark == 4 && (view.getId() == R.id.kaifu_add_time || view.getId() == R.id.kaifu_add_name)) {
view.setTextColor(ContextCompat.getColor(view.getContext(), R.color.red));
} else if (position == 0) {
view.setTextColor(ContextCompat.getColor(view.getContext(), R.color.hint));
} else {
view.setTextColor(ContextCompat.getColor(view.getContext(), R.color.title));
}
}
@BindingAdapter("visibleGone")
public static void showHide(View view, Boolean show) {

View File

@ -73,6 +73,7 @@ public class EntranceUtils {
public static final String KEY_VERSION_UPDATE = "versionUpdate";
public static final String KEY_CHECK_QUESTION_CONCERN = "check_question_concern";
public static final String KEY_DRAFT_ID = "draft_id";
public static final String KEY_KAIFU_LIST = "kaifuList";
public static void jumpActivity(Context context, Bundle bundle) {

View File

@ -19,6 +19,8 @@ class KaiFuCalendarEntity() : Parcelable, BaseObservable() {
private var time: Long = 0
private var dataMark: Int = 0 // 判断字段是否符合条件 1:时间,2:名字,3:备注,4:时间&名字, 0: 正常
var type: String? = null
var remark: String = ""
@ -45,6 +47,16 @@ class KaiFuCalendarEntity() : Parcelable, BaseObservable() {
return this.time
}
public fun setDataMark(dataMark: Int) {
this.dataMark = dataMark
notifyPropertyChanged(BR.dataMark)
}
@Bindable
public fun getDataMark(): Int {
return this.dataMark
}
override fun describeContents(): Int {
return 0

View File

@ -191,7 +191,8 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter<ViewHolder> {
viewHolder.kaifuSuggest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mContext.startActivity(AddKaiFuActivity.Companion.getIntent(mContext, mOpenCalendarEntity));
mContext.startActivity(AddKaiFuActivity.Companion.getIntent(mContext,
mOpenCalendarEntity, (ArrayList<KaiFuCalendarEntity>) mServerList));
// SuggestionActivity.startSuggestionActivity(mContext, 1, "service"
// , StringUtils.buildString(gameName, "", suggestTime, "开服信息有误:"));

View File

@ -14,6 +14,7 @@ import com.bigkoo.pickerview.builder.TimePickerBuilder
import com.bigkoo.pickerview.listener.OnTimeSelectListener
import com.gh.base.BaseActivity
import com.gh.base.OnViewClickListener
import com.gh.common.util.EntranceUtils
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.ActivityKaifuAddBinding
import com.gh.gamecenter.entity.KaiFuCalendarEntity
@ -37,7 +38,8 @@ class AddKaiFuActivity : BaseActivity() {
// initViewModel
mViewModel = ViewModelProviders.of(this).get(AddKaiFuViewModel::class.java)
mViewModel?.initData(intent.getParcelableExtra(KaiFuCalendarEntity.TAG))
mViewModel?.initData(intent.getParcelableExtra(KaiFuCalendarEntity.TAG)
, intent.getParcelableArrayListExtra<KaiFuCalendarEntity>(EntranceUtils.KEY_KAIFU_LIST))
// initView
mBinding = ActivityKaifuAddBinding.bind(mContentView)
@ -113,9 +115,10 @@ class AddKaiFuActivity : BaseActivity() {
companion object {
fun getIntent(context: Context, entity: KaiFuCalendarEntity): Intent {
fun getIntent(context: Context, entity: KaiFuCalendarEntity, kaifuList: ArrayList<KaiFuCalendarEntity>): Intent {
val intent = Intent(context, AddKaiFuActivity::class.java)
intent.putExtra(KaiFuCalendarEntity.TAG, entity)
intent.putParcelableArrayListExtra(EntranceUtils.KEY_KAIFU_LIST, kaifuList)
return intent
}
}

View File

@ -12,7 +12,10 @@ class AddKaiFuViewModel(application: Application) : AndroidViewModel(application
val calendarList = ArrayList<KaiFuCalendarEntity>()
fun initData(entity: KaiFuCalendarEntity) {
private var mAllKaifuList = ArrayList<KaiFuCalendarEntity>()
fun initData(entity: KaiFuCalendarEntity, allKaifuList: ArrayList<KaiFuCalendarEntity>) {
mAllKaifuList = allKaifuList
entity.setNote(entity.getNote() + "+") // 第一条 添加+(号)
calendarList.add(entity)
for (i in 0 until 5) {
@ -50,6 +53,12 @@ class AddKaiFuViewModel(application: Application) : AndroidViewModel(application
fun post() {
var isSuccess = true
// 初始化标红提示
for (i in 1 until calendarList.size) {
calendarList[i].setDataMark(0)
}
for (i in 1 until calendarList.size) {
val entity = calendarList[i]
if (entity.getTime() != 0L || !entity.remark.isNullOrEmpty() || !entity.getNote().isNullOrEmpty()) {
@ -64,6 +73,7 @@ class AddKaiFuViewModel(application: Application) : AndroidViewModel(application
for (i in 1 until calendarList.size) {
val entity = calendarList[i]
if (!entity.remark.isNullOrEmpty() && entity.getTime() == 0L && entity.getNote().isNullOrEmpty()) {
entity.setDataMark(3)
isSuccess = false
}
if (i == calendarList.size - 1 && !isSuccess) {
@ -76,6 +86,7 @@ class AddKaiFuViewModel(application: Application) : AndroidViewModel(application
val entity = calendarList[i]
if (entity.getTime() != 0L && entity.getNote().isNullOrEmpty() || entity.getTime() == 0L && !entity.getNote().isNullOrEmpty()) {
isSuccess = false
entity.setDataMark(if (entity.getTime() != 0L) 1 else 2)
}
if (i == calendarList.size - 1 && !isSuccess) {
toast(getApplication(), "时间和名字必须同时填写")
@ -87,10 +98,25 @@ class AddKaiFuViewModel(application: Application) : AndroidViewModel(application
for (i in 1 until calendarList.size) {
val entity = calendarList[i]
if (entity.getTime() != 0L && !entity.getNote().isNullOrEmpty()) {
val splitTime = listJson.split("time:" + entity.getTime().toString())
val splitName = listJson.split("note:" + entity.getNote()!!)
val splitTime = listJson.split("\"time\":" + entity.getTime().toString())
val splitName = listJson.split("\"note\":" + "\"" + entity.getNote()!! + "\"")
if (splitTime.size > 2 || splitName.size > 2) {
isSuccess = false
entity.setDataMark(if (splitTime.size > 2) 1 else 2)
}
}
if (i == calendarList.size - 1 && !isSuccess) {
toast(getApplication(), "内容重复,请检查修改")
return
}
}
for (i in 1 until calendarList.size) {
val entity = calendarList[i]
for (allEntity in mAllKaifuList) {
if (entity.getTime() == allEntity.getTime() && entity.getNote() == allEntity.getNote()) {
isSuccess = false
entity.setDataMark(4)
}
}
if (i == calendarList.size - 1 && !isSuccess) {