完善新增开服信息

This commit is contained in:
kehaoyuan
2018-05-30 19:22:20 +08:00
parent eddb8a933c
commit 081ce01664
13 changed files with 185 additions and 43 deletions

View File

@ -0,0 +1,7 @@
package com.gh.base;
import android.view.View;
public interface OnViewClickListener {
void onClick(View v, Object data);
}

View File

@ -10,6 +10,7 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.facebook.drawee.view.SimpleDraweeView;
import com.gh.base.OnViewClickListener;
import com.gh.common.constant.Config;
import com.gh.common.util.DataUtils;
import com.gh.common.util.DialogUtils;
@ -46,15 +47,17 @@ public class BindingAdapters {
view.setImageURI(imageUrl);
}
@BindingAdapter("addKaiFuView")
public static void addKaiFuView(LinearLayout view, List<KaiFuCalendarEntity> list) {
@BindingAdapter({"addKaiFuView", "clickListener"})
public static void addKaiFuView(LinearLayout view, List<KaiFuCalendarEntity> list, OnViewClickListener listener) {
if (list == null) return;
view.removeAllViews();
view.addView(LayoutInflater.from(view.getContext()).inflate(R.layout.kaifu_add_item_title, null));
for (int i = 0; i < list.size(); i++) {
View inflate = LayoutInflater.from(view.getContext()).inflate(R.layout.kaifu_add_item, null);
KaifuAddItemBinding binding = KaifuAddItemBinding.bind(inflate);
binding.setClickListener(listener);
binding.setEntity(list.get(i));
binding.setPosition(i);
binding.setIsCloseBottom(list.size() - 1 == i);
view.addView(inflate);
}

View File

@ -2,9 +2,9 @@ package com.gh.gamecenter.adapter.viewholder;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.TableLayout;
import android.widget.TextView;
import com.gh.base.BaseRecyclerViewHolder;
@ -36,7 +36,7 @@ public class GameDetailKaiFuViewHolder extends BaseRecyclerViewHolder<GameDetail
@BindView(R.id.gamedetail_kaifu_detail_time)
public TextView detailTime;
@BindView(R.id.gamedetail_kaifu_detail_list)
public TableLayout detailList;
public LinearLayout detailList;
@BindView(R.id.gamedetail_kaifu_detail_sv)
public ScrollView detailSv;
@BindView(R.id.gamedetail_kaifu_des)

View File

@ -10,6 +10,8 @@ import java.util.*
*/
class KaiFuCalendarEntity() : Parcelable {
var id : String? = null
var note: String? = null
var time: Long = 0
@ -31,6 +33,7 @@ class KaiFuCalendarEntity() : Parcelable {
}
override fun writeToParcel(dest: Parcel, flags: Int) {
dest.writeString(this.id)
dest.writeString(this.note)
dest.writeLong(this.time)
dest.writeString(this.type)
@ -39,6 +42,7 @@ class KaiFuCalendarEntity() : Parcelable {
}
constructor(source: Parcel) : this() {
this.id = source.readString()
this.note = source.readString()
this.time = source.readLong()
this.type = source.readString()

View File

@ -20,13 +20,13 @@ import android.widget.TextView;
import com.gh.common.util.DisplayUtils;
import com.gh.common.util.StringUtils;
import com.gh.gamecenter.R;
import com.gh.gamecenter.SuggestionActivity;
import com.gh.gamecenter.adapter.viewholder.GameDetailCalenderViewHolder;
import com.gh.gamecenter.adapter.viewholder.GameDetailKaiFuViewHolder;
import com.gh.gamecenter.databinding.KaifuDetailItemRowBinding;
import com.gh.gamecenter.entity.CalendarEntity;
import com.gh.gamecenter.entity.KaiFuCalendarEntity;
import com.gh.gamecenter.eventbus.EBReuse;
import com.gh.gamecenter.kaifu.add.KaiFuAddActivity;
import com.gh.gamecenter.kaifu.amend.KaiFuAmendActivity;
import com.gh.gamecenter.retrofit.Response;
import com.lightgame.adapter.BaseRecyclerAdapter;
@ -189,8 +189,9 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter<ViewHolder> {
viewHolder.kaifuSuggest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SuggestionActivity.startSuggestionActivity(mContext, 1, "service"
, StringUtils.buildString(gameName, "", suggestTime, "开服信息有误:"));
mContext.startActivity(KaiFuAddActivity.Companion.getIntent(mContext));
// SuggestionActivity.startSuggestionActivity(mContext, 1, "service"
// , StringUtils.buildString(gameName, "", suggestTime, "开服信息有误:"));
}
});

View File

@ -2,11 +2,27 @@ package com.gh.gamecenter.kaifu.add
import android.content.Context
import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.support.v4.content.ContextCompat
import android.view.Gravity
import android.view.View
import android.view.ViewGroup
import android.widget.EditText
import android.widget.FrameLayout
import android.widget.TextView
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.GsonUtils
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.ActivityKaifuAddBinding
import com.gh.gamecenter.entity.KaiFuCalendarEntity
import com.lightgame.utils.Utils
import java.text.SimpleDateFormat
import java.util.*
class KaiFuAddActivity : BaseActivity() {
@ -29,6 +45,69 @@ class KaiFuAddActivity : BaseActivity() {
setNavigationTitle("新增开服")
mBinding = ActivityKaifuAddBinding.bind(mContentView)
mBinding?.list = mList
mBinding?.timeClickListener = OnViewClickListener { view: View, position: Any ->
showDataPicker(OnTimeSelectListener { data: Date, _ ->
run {
if (view is TextView && position is Int) {
if (position == 0) {
}
mList[position].time = data.time
view.text = SimpleDateFormat("yyyy年mm月dd日 hh:mm", Locale.CANADA).format(data.time)
}
}
})
}
mBinding?.addPost?.setOnClickListener({
Utils.log("========" + GsonUtils.getInstance().toJson(mList))
})
val a = EditText(this)
}
// 项目地址 ->https://github.com/Bigkoo/Android-PickerView/
private fun showDataPicker(timeSelectListener: OnTimeSelectListener) {
val selectedDate = Calendar.getInstance()
val startDate = Calendar.getInstance()
val endDate = Calendar.getInstance()
val format = SimpleDateFormat("yyyy", Locale.CANADA)
val curYeas = format.format(selectedDate.time).toInt()
startDate.set(curYeas, 0, 1)
endDate.set(curYeas + 1, 11, 31)
val pvTime = TimePickerBuilder(this, timeSelectListener)
.setType(booleanArrayOf(true, true, true, true, true, false))
.setCancelText("取消")
.setSubmitText("确定")
.setTitleSize(15)
.setOutSideCancelable(false)
.isCyclic(false)
.setSubmitColor(ContextCompat.getColor(this, R.color.theme))
.setCancelColor(ContextCompat.getColor(this, R.color.hint))
.setTitleBgColor(Color.WHITE)
.setBgColor(Color.WHITE)
.setDate(selectedDate)
.setRangDate(startDate, endDate)
.setLabel("", "", "", "", "", "")
.isCenterLabel(false)
.isDialog(true)
.setContentTextSize(15)
.build()
val dialog = pvTime.dialog
if (dialog != null) {
val params = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM)
params.leftMargin = 0
params.rightMargin = 0
pvTime.dialogContainerLayout.layoutParams = params
val dialogWindow = dialog.window
if (dialogWindow != null) {
dialogWindow.setWindowAnimations(com.bigkoo.pickerview.R.style.picker_view_slide_anim)
dialogWindow.setGravity(Gravity.BOTTOM)
}
dialog.show()
}
}

View File

@ -3,10 +3,13 @@ package com.gh.gamecenter.kaifu.amend
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import com.gh.base.BaseActivity
import com.gh.common.util.GsonUtils
import com.gh.gamecenter.R
import com.gh.gamecenter.databinding.ActivityKaifuAmendBinding
import com.gh.gamecenter.entity.KaiFuCalendarEntity
import com.lightgame.utils.Utils
class KaiFuAmendActivity : BaseActivity() {
@ -19,14 +22,20 @@ class KaiFuAmendActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setNavigationTitle("修改开服")
mServerEntity = intent.getParcelableExtra(KaiFuCalendarEntity.TAG)
mBinding = ActivityKaifuAmendBinding.bind(mContentView)
mBinding?.entity = intent.getParcelableExtra(KaiFuCalendarEntity.TAG)
mBinding?.entity = mServerEntity
mBinding?.amendBtn?.setOnCheckedChangeListener({ _, b: Boolean ->
if (b) mBinding?.deleteBtn?.isChecked = false
})
mBinding?.deleteBtn?.setOnCheckedChangeListener({ _, b: Boolean ->
if (b) mBinding?.amendBtn?.isChecked = false
})
mBinding?.amendPost?.setOnClickListener(View.OnClickListener {
Utils.log("==========WWW::" + GsonUtils.getInstance().toJson(mServerEntity!!))
})
}
companion object {