@NonNull @SuppressLint("InflateParams") @Override public Dialog onCreateDialog(Bundle savedInstanceState) { FragmentActivity activity = getActivity(); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = activity.getLayoutInflater(); View view = inflater.inflate(R.layout.solarsystem, null); builder.setView(view); builder.setPositiveButton("Set", new MarketFetchClickListener()); builder.setNegativeButton("Cancel", null); Spinner sp_region = (Spinner) view.findViewById(R.id.sp_solarsystem_region); sp_system = (Spinner) view.findViewById(R.id.sp_solarsystem_system); system = 30000142; regions = Starmap.getRegions(); ArrayList<CharSequence> region_list = new ArrayList<>(); for (SolarSystemRegion r : regions) { region_list.add(r.Name); } ArrayAdapter<CharSequence> region_adapter = new ArrayAdapter<>(activity, android.R.layout.simple_spinner_item, region_list); region_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); SolarSystemRegion reg = Starmap.getRegion(Starmap.getSolarSystem(system).Region); sp_region.setAdapter(region_adapter); sp_region.setSelection(regions.indexOf(reg), true); setRegionSystems(reg); sp_region.setOnItemSelectedListener(new RegionSelectedListener()); sp_system.setOnItemSelectedListener(new SystemSelectedListener()); return builder.create(); }
@Override public LayoutInflater getLayoutInflater() { if (mProxyActivity == this) { return super.getLayoutInflater(); } else { if (mProxyActivity != null) { return mProxyActivity.getLayoutInflater(); } else { return super.getLayoutInflater(); } } }
/** 重新setContentView,判断View设置到Proxy还是this */ @Override public void setContentView(int layoutResID) { if (mProxyActivity == this) { super.setContentView(layoutResID); } else { if (mProxyActivity != null) { LayoutInflater inflater = mProxyActivity.getLayoutInflater(); if (inflater != null) { mProxyActivity.setContentView(inflater.inflate(layoutResID, null)); } else { mProxyActivity.setContentView(layoutResID); } } else { super.setContentView(layoutResID); } } }
@Override public View getView(int position, View layout, ViewGroup parent) { ViewHolder holder = null; if (layout == null) { holder = new ViewHolder(); layout = activity.getLayoutInflater().inflate(R.layout.item_craft_value, null); holder.tv_content = (TextView) layout.findViewById(R.id.tv_content); holder.tv_name = (TextView) layout.findViewById(R.id.tv_name); holder.tv_time = (TextView) layout.findViewById(R.id.tv_time); layout.setTag(holder); } else { holder = (ViewHolder) layout.getTag(); } Comment comment = commentList.get(position); holder.tv_content.setText(comment.getAdvise()); holder.tv_time.setText(comment.getTime()); holder.tv_name.setText(comment.getComment_craftsman_name()); return layout; }