package com.community.pocket.data.adapter; import android.os.Build; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import androidx.annotation.RequiresApi; import com.community.pocket.util.LocaleType; import org.xutils.view.annotation.ViewInject; import org.xutils.x; public class LocaleAdapter extends BaseAdapter { private LayoutInflater inflater; public LocaleAdapter(LayoutInflater inflater) { this.inflater = inflater; } @Override public int getCount() { return LocaleType.values().length; } @Override public Object getItem(int position) { return LocaleType.getLocale(position); } @Override public long getItemId(int position) { return position; } @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1) @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null) { convertView = inflater.inflate(android.R.layout.simple_list_item_1, null); viewHolder = new ViewHolder(); //ViewHolder注解 x.view().inject(viewHolder, convertView); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } String text = convertView.getResources().getString(LocaleType.getLocale(position).getResId()); viewHolder.childName.setTextAlignment(View.TEXT_ALIGNMENT_CENTER); viewHolder.childName.setText(text); return convertView; } private class ViewHolder { @ViewInject(android.R.id.text1)//加载item的控件 TextView childName; } }