package com.mm.android.deviceaddmodule.views.popwindow; import android.app.Activity; import android.content.Context; import android.support.v4.app.FragmentActivity; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; import com.mm.android.deviceaddmodule.R; import com.mm.android.deviceaddmodule.event.DeviceAddEvent; import com.mm.android.deviceaddmodule.mobilecommon.base.adapter.CommonAdapter; import com.mm.android.deviceaddmodule.mobilecommon.common.ViewHolder; import com.mm.android.deviceaddmodule.mobilecommon.entity.deviceadd.DeviceAddInfo; import com.mm.android.deviceaddmodule.model.DeviceAddModel; import org.greenrobot.eventbus.EventBus; import java.util.ArrayList; import java.util.List; public class ChoseTypePopWindow extends BasePopWindow implements AdapterView.OnItemClickListener { ListView mOptionList; OptionsAdapter mAdapter; PopWindowFactory.PopWindowType mType; List mData; FragmentActivity mParent; ChoseTypePopWindow(View view, int width, int height) { super(view, width, height); mData = new ArrayList<>(); } public void setType(PopWindowFactory.PopWindowType type) { this.mType = type; switch (type) { case CHOSETYPE: mData.add(R.string.add_device_add_by_wired); mData.add(R.string.add_device_add_by_sound_wave); mData.add(R.string.add_device_add_by_soft_ap); mData.add(R.string.common_cancel); break; } } @Override public void drawContent(Activity activity) { mParent = (FragmentActivity) activity; View view = getContentView(); mOptionList = view.findViewById(R.id.option_list); mAdapter = new OptionsAdapter(R.layout.option_item, mData, activity); mOptionList.setAdapter(mAdapter); mOptionList.setOnItemClickListener(this); } @Override public void updateContent(Activity activity, boolean isPort) { } @Override public void onItemClick(AdapterView parent, View view, int position, long id) { if (position == 0) { EventBus.getDefault().post(new DeviceAddEvent(DeviceAddEvent.CHANGE_TO_WIRED_ACTION)); DeviceAddModel.newInstance().getDeviceInfoCache().setCurDeviceAddType(DeviceAddInfo.DeviceAddType.LAN); } else if (position == 1) { EventBus.getDefault().post(new DeviceAddEvent(DeviceAddEvent.CHANGE_TO_WIRELESS_ACTION)); DeviceAddModel.newInstance().getDeviceInfoCache().setCurDeviceAddType(DeviceAddInfo.DeviceAddType.WLAN); } else if (position == 2) { EventBus.getDefault().post(new DeviceAddEvent(DeviceAddEvent.CHANGE_TO_SOFTAP_ACTION)); DeviceAddModel.newInstance().getDeviceInfoCache().setCurDeviceAddType(DeviceAddInfo.DeviceAddType.SOFTAP); } dismiss(); } class OptionsAdapter extends CommonAdapter { public OptionsAdapter(int layout, List list, Context mContext) { super(layout, list, mContext); } @Override public void convert(ViewHolder viewHolder, Integer item, int position, ViewGroup parent) { TextView optionName = (TextView) viewHolder.findViewById(R.id.option_name); optionName.setText(item); if (position == getCount() - 1) { optionName.setTextColor(mContext.getResources().getColor(R.color.c12)); LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams)optionName.getLayoutParams(); layoutParams.topMargin = 15; optionName.setLayoutParams(layoutParams); } else { optionName.setTextColor(mContext.getResources().getColor(R.color.c2)); LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams)optionName.getLayoutParams(); layoutParams.topMargin = 0; optionName.setLayoutParams(layoutParams); } } } }