我的世界0.11.0下载14399专区

一旦删除此代码片,将不能恢复!
来自CSDN博客:Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
blog__3789537
package com.example.sortlistview;public class SortModel { private String name;
//显示的数据 private String sortLetters;
//显示数据拼音的首字母
public String getName() {
return name; } public void setName(String name) {
this.name = name; } public String getSortLetters() {
return sortLetters; } public void setSortLetters(String sortLetters) {
this.sortLetters = sortLetters; }}
blog__3331406
package com.example.sortlistview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Typeface;import android.graphics.drawable.ColorDrawable;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.View;import android.widget.TextView;public class SideBar extends View { // 触摸事件 private OnTouchingLetterChangedListener onTouchingLetterChangedListener; // 26个字母 public static String[] b = { &A&, &B&, &C&, &D&, &E&, &F&, &G&, &H&, &I&,
&J&, &K&, &L&, &M&, &N&, &O&, &P&, &Q&, &R&, &S&, &T&, &U&, &V&,
&W&, &X&, &Y&, &Z&, &#& }; private int choose = -1;// 选中 private Paint paint = new Paint(); private TextView mTextDialog; /**
* 为SideBar设置显示字母的TextView
* @param mTextDialog
*/ public void setTextView(TextView mTextDialog) {
this.mTextDialog = mTextDialog; } public SideBar(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle); } public SideBar(Context context, AttributeSet attrs) {
super(context, attrs); } public SideBar(Context context) {
super(context); } /**
* 重写这个方法
*/ protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 获取焦点改变背景颜色.
int height = getHeight();// 获取对应高度
int width = getWidth(); // 获取对应宽度
int singleHeight = height / b.length;// 获取每一个字母的高度
for (int i = 0; i & b.length; i++) {
paint.setColor(Color.rgb(33, 65, 98));
// paint.setColor(Color.WHITE);
paint.setTypeface(Typeface.DEFAULT_BOLD);
paint.setAntiAlias(true);
paint.setTextSize(20);
// 选中的状态
if (i == choose) {
paint.setColor(Color.parseColor(&#3399ff&));
paint.setFakeBoldText(true);
// x坐标等于中间-字符串宽度的一半.
float xPos = width / 2 - paint.measureText(b[i]) / 2;
float yPos = singleHeight * i + singleHeight;
canvas.drawText(b[i], xPos, yPos, paint);
paint.reset();// 重置画笔
} } @Override public boolean dispatchTouchEvent(MotionEvent event) {
final int action = event.getAction();
final float y = event.getY();// 点击y坐标
final int oldChoose = choose;
final OnTouchingLetterChangedListener listener = onTouchingLetterChangedListener;
final int c = (int) (y / getHeight() * b.length);// 点击y坐标所占总高度的比例*b数组的长度就等于点击b中的个数.
switch (action) {
case MotionEvent.ACTION_UP:
setBackgroundDrawable(new ColorDrawable(0x));
choose = -1;//
invalidate();
if (mTextDialog != null) {
mTextDialog.setVisibility(View.INVISIBLE);
setBackgroundResource(R.drawable.sidebar_background);
if (oldChoose != c) {
if (c &= 0 && c & b.length) {
if (listener != null) {
listener.onTouchingLetterChanged(b[c]);
if (mTextDialog != null) {
mTextDialog.setText(b[c]);
mTextDialog.setVisibility(View.VISIBLE);
choose = c;
invalidate();
return true; } /**
* 向外公开的方法
* @param onTouchingLetterChangedListener
*/ public void setOnTouchingLetterChangedListener(
OnTouchingLetterChangedListener onTouchingLetterChangedListener) {
this.onTouchingLetterChangedListener = onTouchingLetterChangedListener; } /**
* @author coder
*/ public interface OnTouchingLetterChangedListener {
public void onTouchingLetterChanged(String s); }}
blog__1553499
package com.example.sortlistview;/** * Java汉字转换为拼音 *
*/public class CharacterParser { private static int[] pyvalue = new int[] {-20319, -20317, -20304, -20295, -20292, -20283, -20265, -20257, -20242, -20230, -20051, -20036, -20032,
-20026, -20002, -19990, -19986, -19982, -19976, -19805, -19784, -19775, -19774, -19763, -19756, -19751, -19746, -19741, -19739, -19728,
-19725, -19715, -19540, -19531, -19525, -19515, -19500, -19484, -19479, -19467, -19289, -19288, -19281, -19275, -19270, -19263, -19261,
-19249, -19243, -19242, -19238, -19235, -19227, -19224, -19218, -19212, -19038, -19023, -19018, -19006, -19003, -18996, -18977, -18961,
-18952, -18783, -18774, -18773, -18763, -18756, -18741, -18735, -18731, -18722, -18710, -18697, -18696, -18526, -18518, -18501, -18490,
-18478, -18463, -18448, -18447, -18446, -18239, -18237, -18231, -18220, -18211, -18201, -18184, -18183, -18181, -18012, -17997, -17988,
-17970, -17964, -17961, -17950, -17947, -17931, -17928, -17922, -17759, -17752, -17733, -17730, -17721, -17703, -17701, -17697, -17692,
-17683, -17676, -17496, -17487, -17482, -17468, -17454, -17433, -17427, -17417, -17202, -17185, -16983, -16970, -16942, -16915, -16733,
-16708, -16706, -16689, -16664, -16657, -16647, -16474, -16470, -16465, -16459, -16452, -16448, -16433, -16429, -16427, -16423, -16419,
-16412, -16407, -16403, -16401, -16393, -16220, -16216, -16212, -16205, -16202, -16187, -16180, -16171, -16169, -16158, -16155, -15959,
-15958, -15944, -15933, -15920, -15915, -15903, -15889, -15878, -15707, -15701, -15681, -15667, -15661, -15659, -15652, -15640, -15631,
-15625, -15454, -15448, -15436, -15435, -15419, -15416, -15408, -15394, -15385, -15377, -15375, -15369, -15363, -15362, -15183, -15180,
-15165, -15158, -15153, -15150, -15149, -15144, -15143, -15141, -15140, -15139, -15128, -15121, -15119, -15117, -15110, -15109, -14941,
-14937, -14933, -14930, -14929, -14928, -14926, -14922, -14921, -14914, -14908, -14902, -14894, -14889, -14882, -14873, -14871, -14857,
-14678, -14674, -14670, -14668, -14663, -14654, -14645, -14630, -14594, -14429, -14407, -14399, -14384, -14379, -14368, -14355, -14353,
-14345, -14170, -14159, -14151, -14149, -14145, -14140, -14137, -14135, -14125, -14123, -14122, -14112, -14109, -14099, -14097, -14094,
-14092, -14090, -14087, -14083, -13917, -13914, -13910, -13907, -13906, -13905, -13896, -13894, -13878, -13870, -13859, -13847, -13831,
-13658, -13611, -13601, -13406, -13404, -13400, -13398, -13395, -13391, -13387, -13383, -13367, -13359, -13356, -13343, -13340, -13329,
-13326, -13318, -13147, -13138, -13120, -13107, -13096, -13095, -13091, -13076, -13068, -13063, -13060, -12888, -12875, -12871, -12860,
-12858, -12852, -12849, -12838, -12831, -12829, -12812, -12802, -12607, -12597, -12594, -12585, -12556, -12359, -12346, -12320, -12300,
-12120, -12099, -12089, -12074, -12067, -12058, -12039, -11867, -11861, -11847, -11831, -11798, -11781, -11604, -11589, -11536, -11358,
-11340, -11339, -11324, -11303, -11097, -11077, -11067, -11055, -11052, -11045, -11041, -11038, -11024, -11020, -11019, -11018, -11014,
-10838, -10832, -10815, -10800, -10790, -10780, -10764, -10587, -10544, -10533, -10519, -10331, -10329, -10328, -10322, -10315, -10309,
-10307, -10296, -10281, -10274, -10270, -10262, -10260, -10256, -10254}; public static String[] pystr = new String[] {&a&, &ai&, &an&, &ang&, &ao&, &ba&, &bai&, &ban&, &bang&, &bao&, &bei&, &ben&, &beng&, &bi&, &bian&,
&biao&, &bie&, &bin&, &bing&, &bo&, &bu&, &ca&, &cai&, &can&, &cang&, &cao&, &ce&, &ceng&, &cha&, &chai&, &chan&, &chang&, &chao&, &che&,
&chen&, &cheng&, &chi&, &chong&, &chou&, &chu&, &chuai&, &chuan&, &chuang&, &chui&, &chun&, &chuo&, &ci&, &cong&, &cou&, &cu&, &cuan&,
&cui&, &cun&, &cuo&, &da&, &dai&, &dan&, &dang&, &dao&, &de&, &deng&, &di&, &dian&, &diao&, &die&, &ding&, &diu&, &dong&, &dou&, &du&,
&duan&, &dui&, &dun&, &duo&, &e&, &en&, &er&, &fa&, &fan&, &fang&, &fei&, &fen&, &feng&, &fo&, &fou&, &fu&, &ga&, &gai&, &gan&, &gang&,
&gao&, &ge&, &gei&, &gen&, &geng&, &gong&, &gou&, &gu&, &gua&, &guai&, &guan&, &guang&, &gui&, &gun&, &guo&, &ha&, &hai&, &han&, &hang&,
&hao&, &he&, &hei&, &hen&, &heng&, &hong&, &hou&, &hu&, &hua&, &huai&, &huan&, &huang&, &hui&, &hun&, &huo&, &ji&, &jia&, &jian&,
&jiang&, &jiao&, &jie&, &jin&, &jing&, &jiong&, &jiu&, &ju&, &juan&, &jue&, &jun&, &ka&, &kai&, &kan&, &kang&, &kao&, &ke&, &ken&,
&keng&, &kong&, &kou&, &ku&, &kua&, &kuai&, &kuan&, &kuang&, &kui&, &kun&, &kuo&, &la&, &lai&, &lan&, &lang&, &lao&, &le&, &lei&, &leng&,
&li&, &lia&, &lian&, &liang&, &liao&, &lie&, &lin&, &ling&, &liu&, &long&, &lou&, &lu&, &lv&, &luan&, &lue&, &lun&, &luo&, &ma&, &mai&,
&man&, &mang&, &mao&, &me&, &mei&, &men&, &meng&, &mi&, &mian&, &miao&, &mie&, &min&, &ming&, &miu&, &mo&, &mou&, &mu&, &na&, &nai&,
&nan&, &nang&, &nao&, &ne&, &nei&, &nen&, &neng&, &ni&, &nian&, &niang&, &niao&, &nie&, &nin&, &ning&, &niu&, &nong&, &nu&, &nv&, &nuan&,
&nue&, &nuo&, &o&, &ou&, &pa&, &pai&, &pan&, &pang&, &pao&, &pei&, &pen&, &peng&, &pi&, &pian&, &piao&, &pie&, &pin&, &ping&, &po&, &pu&,
&qi&, &qia&, &qian&, &qiang&, &qiao&, &qie&, &qin&, &qing&, &qiong&, &qiu&, &qu&, &quan&, &que&, &qun&, &ran&, &rang&, &rao&, &re&,
&ren&, &reng&, &ri&, &rong&, &rou&, &ru&, &ruan&, &rui&, &run&, &ruo&, &sa&, &sai&, &san&, &sang&, &sao&, &se&, &sen&, &seng&, &sha&,
&shai&, &shan&, &shang&, &shao&, &she&, &shen&, &sheng&, &shi&, &shou&, &shu&, &shua&, &shuai&, &shuan&, &shuang&, &shui&, &shun&,
&shuo&, &si&, &song&, &sou&, &su&, &suan&, &sui&, &sun&, &suo&, &ta&, &tai&, &tan&, &tang&, &tao&, &te&, &teng&, &ti&, &tian&, &tiao&,
&tie&, &ting&, &tong&, &tou&, &tu&, &tuan&, &tui&, &tun&, &tuo&, &wa&, &wai&, &wan&, &wang&, &wei&, &wen&, &weng&, &wo&, &wu&, &xi&,
&xia&, &xian&, &xiang&, &xiao&, &xie&, &xin&, &xing&, &xiong&, &xiu&, &xu&, &xuan&, &xue&, &xun&, &ya&, &yan&, &yang&, &yao&, &ye&, &yi&,
&yin&, &ying&, &yo&, &yong&, &you&, &yu&, &yuan&, &yue&, &yun&, &za&, &zai&, &zan&, &zang&, &zao&, &ze&, &zei&, &zen&, &zeng&, &zha&,
&zhai&, &zhan&, &zhang&, &zhao&, &zhe&, &zhen&, &zheng&, &zhi&, &zhong&, &zhou&, &zhu&, &zhua&, &zhuai&, &zhuan&, &zhuang&, &zhui&,
&zhun&, &zhuo&, &zi&, &zong&, &zou&, &zu&, &zuan&, &zui&, &zun&, &zuo&}; private StringBuilder buffer; private String resource; private static CharacterParser characterParser = new CharacterParser(); public static CharacterParser getInstance() {
return characterParser; } public String getResource() {
return resource; } public void setResource(String resource) {
this.resource = resource; } /** * 汉字转成ASCII码 * * @param chs * @return */ private int getChsAscii(String chs) {
int asc = 0;
byte[] bytes = chs.getBytes(&gb2312&);
if (bytes == null || bytes.length & 2 || bytes.length &= 0) {
throw new RuntimeException(&illegal resource string&);
if (bytes.length == 1) {
asc = bytes[0];
if (bytes.length == 2) {
int hightByte = 256 + bytes[0];
int lowByte = 256 + bytes[1];
asc = (256 * hightByte + lowByte) - 256 * 256;
} catch (Exception e) {
System.out.println(&ERROR:ChineseSpelling.class-getChsAscii(String chs)& + e);
return asc; } /** * 单字解析 * * @param str * @return */ public String convert(String str) {
String result = null;
int ascii = getChsAscii(str);
if (ascii & 0 && ascii & 160) {
result = String.valueOf((char) ascii);
for (int i = (pyvalue.length - 1); i &= 0; i--) {
if (pyvalue[i] &= ascii) {
result = pystr[i];
return result; } /** * 词组解析 * * @param chs * @return */ public String getSelling(String chs) {
String key, value;
buffer = new StringBuilder();
for (int i = 0; i & chs.length(); i++) {
key = chs.substring(i, i + 1);
if (key.getBytes().length &= 2) {
value = (String) convert(key);
if (value == null) {
value = &unknown&;
value = key;
buffer.append(value);
return buffer.toString(); } public String getSpelling() {
return this.getSelling(this.getResource()); }}
blog__1935183
package com.example.sortlistview;import java.util.List;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.SectionIndexer;import android.widget.TextView;public class SortAdapter extends BaseAdapter implements SectionIndexer{ private List&SortModel& list = null; private Context mContext;
public SortAdapter(Context mContext, List&SortModel& list) {
this.mContext = mContext;
this.list = list; }
* 当ListView数据发生变化时,调用此方法来更新ListView
* @param list
*/ public void updateListView(List&SortModel& list){
this.list = list;
notifyDataSetChanged(); } public int getCount() {
return this.list.size(); } public Object getItem(int position) {
return list.get(position); } public long getItemId(int position) {
return position; } public View getView(final int position, View view, ViewGroup arg2) {
ViewHolder viewHolder = null;
final SortModel mContent = list.get(position);
if (view == null) {
viewHolder = new ViewHolder();
view = LayoutInflater.from(mContext).inflate(R.layout.item, null);
viewHolder.tvTitle = (TextView) view.findViewById(R.id.title);
viewHolder.tvLetter = (TextView) view.findViewById(R.id.catalog);
view.setTag(viewHolder);
viewHolder = (ViewHolder) view.getTag();
//根据position获取分类的首字母的char ascii值
int section = getSectionForPosition(position);
//如果当前位置等于该分类首字母的Char的位置 ,则认为是第一次出现
if(position == getPositionForSection(section)){
viewHolder.tvLetter.setVisibility(View.VISIBLE);
viewHolder.tvLetter.setText(mContent.getSortLetters());
viewHolder.tvLetter.setVisibility(View.GONE);
viewHolder.tvTitle.setText(this.list.get(position).getName());
return view; }
final static class ViewHolder {
TextView tvLetter;
TextView tvTitle; } /**
* 根据ListView的当前位置获取分类的首字母的char ascii值
*/ public int getSectionForPosition(int position) {
return list.get(position).getSortLetters().charAt(0); } /**
* 根据分类的首字母的Char ascii值获取其第一次出现该首字母的位置
*/ public int getPositionForSection(int section) {
for (int i = 0; i & getCount(); i++) {
String sortStr = list.get(i).getSortLetters();
char firstChar = sortStr.toUpperCase().charAt(0);
if (firstChar == section) {
return -1; }
@Override public Object[] getSections() {
return null; }}
blog__680664
package com.example.sortlistview;import java.util.ArrayList;import java.util.Collections;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.text.Editable;import android.text.TextUtils;import android.text.TextWatcher;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;import com.example.sortlistview.SideBar.OnTouchingLetterChangedListener;public class MainActivity extends Activity { private ListView sortListView; private SideBar sideBar; /**
* 显示字母的TextView
*/ private TextView dialog; private SortAdapter adapter; private ClearEditText mClearEditText;
* 汉字转换成拼音的类
*/ private CharacterParser characterParser; private List&SortModel& SourceDateList;
* 根据拼音来排列ListView里面的数据类
*/ private PinyinComparator pinyinComparator; @Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews(); } private void initViews() {
//实例化汉字转拼音类
characterParser = CharacterParser.getInstance();
pinyinComparator = new PinyinComparator();
sideBar = (SideBar) findViewById(R.id.sidrbar);
dialog = (TextView) findViewById(R.id.dialog);
sideBar.setTextView(dialog);
//设置右侧触摸监听
sideBar.setOnTouchingLetterChangedListener(new OnTouchingLetterChangedListener() {
public void onTouchingLetterChanged(String s) {
//该字母首次出现的位置
int position = adapter.getPositionForSection(s.charAt(0));
if(position != -1){
sortListView.setSelection(position);
sortListView = (ListView) findViewById(R.id.country_lvcountry);
sortListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView&?& parent, View view,
int position, long id) {
//这里要利用adapter.getItem(position)来获取当前position所对应的对象
Toast.makeText(getApplication(), ((SortModel)adapter.getItem(position)).getName(), Toast.LENGTH_SHORT).show();
SourceDateList = filledData(getResources().getStringArray(R.array.date));
// 根据a-z进行排序源数据
Collections.sort(SourceDateList, pinyinComparator);
adapter = new SortAdapter(this, SourceDateList);
sortListView.setAdapter(adapter);
mClearEditText = (ClearEditText) findViewById(R.id.filter_edit);
//根据输入框输入值的改变来过滤搜索
mClearEditText.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
//当输入框里面的值为空,更新为原来的列表,否则为过滤数据列表
filterData(s.toString());
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
public void afterTextChanged(Editable s) {
* 为ListView填充数据
* @param date
*/ private List&SortModel& filledData(String [] date){
List&SortModel& mSortList = new ArrayList&SortModel&();
for(int i=0; i&date.length; i++){
SortModel sortModel = new SortModel();
sortModel.setName(date[i]);
//汉字转换成拼音
String pinyin = characterParser.getSelling(date[i]);
String sortString = pinyin.substring(0, 1).toUpperCase();
// 正则表达式,判断首字母是否是英文字母
if(sortString.matches(&[A-Z]&)){
sortModel.setSortLetters(sortString.toUpperCase());
sortModel.setSortLetters(&#&);
mSortList.add(sortModel);
return mSortList;
* 根据输入框中的值来过滤数据并更新ListView
* @param filterStr
*/ private void filterData(String filterStr) {
List&SortModel& filterDateList = new ArrayList&SortModel&();
if (TextUtils.isEmpty(filterStr)) {
filterDateList = SourceDateList;
filterDateList.clear();
for (SortModel sortModel : SourceDateList) {
String name = sortModel.getName();
if (name.toUpperCase().indexOf(
filterStr.toString().toUpperCase()) != -1
|| characterParser.getSelling(name).toUpperCase()
.startsWith(filterStr.toString().toUpperCase())) {
filterDateList.add(sortModel);
// 根据a-z进行排序
Collections.sort(filterDateList, pinyinComparator);
adapter.updateListView(filterDateList); } }
blog__2000440
package com.example.sortlistview;import parator;/** *
* @author xiaanming * */public class PinyinComparator implements Comparator&SortModel& { public int compare(SortModel o1, SortModel o2) {
//这里主要是用来对ListView里面的数据根据ABCDEFG...来排序
if (o2.getSortLetters().equals(&#&)) {
return -1;
} else if (o1.getSortLetters().equals(&#&)) {
return o1.getSortLetters().compareTo(o2.getSortLetters());4399游戏盒下载
你所在位置:>>>
回复:<span class="cff&/&
查看:<span class="cff
复制本帖链接
『路人家族』小粥子: 请解释一下这是什么这个就是女仆
为什么不发配套材质呢?
大师们,怎么使用压缩包,在下太笨!
(YouTube)巖覺: 沒用材質包用什么材质包
艹尼玛是黑的玩生存会射箭还射我禁用变骷髅了我尼玛
怎么没有js
用蛋糕可以吸引她,蛋糕点击后驯服,驯服女仆后,女仆居然会和主人聊天了。驯服女仆用墨囊可以换装。
驯服后的女仆可以帮你捡掉落物品,靠近女仆后捡起,无限捡不同id的掉落物。用火把点击女仆自动火把技能发动。
拿任何剑点女仆,女仆就会在一定距离内打怪。
用锄头点她她会耕地,给她种子她会种菜,给她骨头她会催熟。
用煤炭或木炭点女仆,再用生肉点她,会变熟肉,空手点她可以拿肉。
拿女仆蛋点击任意生物,女仆可以骑着生物生成。
姓名牌功能:下面一个下届反应核,上面一个木牌,第一行写着要给女仆起的名字,用姓名牌点下面的反应核,设置名字,之后点任何生物都可以给生物取这个名字。
用书点驯服过的女仆,可以打开小游戏菜单&
点击学习&&&
下载这个神器,手机上也能直接下插件&哦&&&&
看我的世界攻略秘籍 推荐海量好玩游戏
我的世界安卓版下载:
我的世界IOS版下载:
更多,请进入专区首页:&&
返回,万千游戏任你选:&
关注4399手游微信
关注4399手游微博
类别:休闲娱乐
大小:12.94M
看过本文的玩家还看过:
热门安卓游戏热门苹果游戏
体育竞技大小:19.44M
休闲娱乐大小:59.84M
策略游戏大小:30.68M
敏捷游戏大小:31.26M
射击游戏大小:39.8M
益智游戏大小:13.24M
休闲娱乐大小:34.88M
射击游戏大小:30.91M
休闲娱乐大小:53.41M
休闲娱乐大小:65.25M
hbjubjbjbjb: 找不到女仆!为什么点下载后显示无法显示URL
为啥我弄的是白的
驯?服?。。。
【路人家族】小粥子: 请解释一下这是什么没装材质
(YouTube)巖覺: 沒用材質包怎么用啊
影魔灭世: 可怜的孩子,让我告诉你,里面的女仆用的是骷髅的模型就是
统领四舅: 这个就是女仆找不到
盗版,请勿下载
【星族】炎魔: 为什么我弄的是黑的前排提醒盗版请勿下载
所以能不能踩一脚
我的也是黑的,材质包没有用。
(YouTube)巖覺: 沒用材質包材質包在哪里
/熊族/HIM: 难能不能和女仆可以,用书点女仆出现的小游戏有ooxx
您需要后才能发表回复

我要回帖

更多关于 我的世界0.11.1服务器 的文章

 

随机推荐