private void updateList(String keyWords) { List<AppInfo> appInfoList = new ArrayList<AppInfo>(); if (TextUtils.isEmpty(keyWords)) { mAppListAdapter.setAppInfoList(appInfoList); setToastTxt(getResources().getString(R.string.dial_or_long_click_search_app)); return; } String stringNumber = null; for (AppInfo appInfo : mAppInfoList) { stringNumber = mDialpadView.getStringsNumber(appInfo.getAppFirstSpell()); System.out.println( "====== firstSpell == " + appInfo.getAppFirstSpell() + " stringNumber == " + stringNumber + " keyWords == " + keyWords); if (stringNumber.startsWith(keyWords)) { appInfoList.add(appInfo); } } showResult(appInfoList); }
private void findViews() { mAppListView = (ListView) findViewById(R.id.appListViewId); mToastTxtView = (TextView) findViewById(R.id.toastTxtId); mAppListAdapter = new AppListAdapter(this); mDialpadView = (T9View) findViewById(R.id.appDialerId); mDialpadView.setOnKeyClickListener( new OnKeyClickListener() { @Override public void onSearchText(String keyWords) { System.out.println("====== onSearchText keyWords == " + keyWords); updateList(keyWords); } @Override public void onClickNumber(String number) { System.out.println("====== onClickNumber number == " + number); } @Override public void onClickDelete() { System.out.println("====== onClickDelete"); } @Override public void onClickBack() { System.out.println("====== onClickBack"); finish(); } @Override public void onClickVoice() { startRecong(); } }); mAppListView.setAdapter(mAppListAdapter); mAppListView.setOnItemClickListener( new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { AppInfo appInfo = mAppListAdapter.getAppInfoList().get(position); appInfo.setOpenCnt(appInfo.getOpenCnt() + 1); System.out.println( "====== onAddDialCharacter packageName == " + appInfo.getPackageName() + " className == " + appInfo.getClassName()); Intent intent = new Intent(); intent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); intent.setComponent( new ComponentName(appInfo.getPackageName(), appInfo.getClassName())); startActivity(intent); // 更新打开次数 List<AppInfo> updateAppInfoList = new ArrayList<AppInfo>(); updateAppInfoList.add(appInfo); mAppManager.addAppInfoList(updateAppInfoList); } }); mAppManager = new APPManager(this); }