2016-07-19 4 views
0

の検索を実装しますそのグリッドにリンクされた配列の検索ビューを実装する方法。事前に おかげ私は、私はsearchviewで何かを入力したとき、私はitems.iは知らないマッチングGridViewのを見ることができるはずようにGridViewにsearchviewを追加したい画像やテキストを表示する私のAndroidアプリでGridViewのを持っているアンドロイドグリッドビュー

public class ImageAdapter extends BaseAdapter { 
private Context mContext; 

public ImageAdapter(Context c) { 
    mContext = c; 
} 

public int getCount() { 
    return mThumbIds.length; 
} 

public Object getItem(int position) { 
    return null; 
} 

public long getItemId(int position) { 
    return 0; 
} 

@Override 



// create a new ImageView for each item referenced by the Adapter 
public View getView(int position, View convertView, ViewGroup parent) { 
    View grid; 


    LayoutInflater inflater = (LayoutInflater) mContext 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    ViewHolder mVHolder; 
    if (convertView == null) { 
     // if it's not recycled, initialize some attributes 
     convertView = inflater.inflate(R.layout.grid_single, parent, false); 
     mVHolder=new ViewHolder(); 



     mVHolder.mTextView=(TextView)convertView.findViewById(R.id.text); 
     convertView.setTag(mVHolder); 

    } else { 
     mVHolder=(ViewHolder)convertView.getTag(); 
    } 
    mVHolder.mTextView.setText(mThumbIds[position]); 

    return convertView;} 




// array of strings 

private String[] mThumbIds = {......}; 
} 

class ViewHolder { 

    TextView mTextView; 

} 
+0

代わりgirdlayoutマネージャでrecylerviewを使用してください。 recyclerviewで検索を実装するためのチュートリアルがたくさんあります。また、recyclerviewは将来あなたが直面する多くの問題を防ぎます。 – Kushan

答えて

0

チェックリストビューに検索機能を提供する方法については、このtutorial

あなたはSearchView.OnQueryTextListenerを実装し

@Override 

public boolean onQueryTextSubmit(String query) { 
    return false; 
} 

@Override 
public boolean onQueryTextChange(String newText) { 
    friendListAdapter.getFilter().filter(newText); 

    return true; 
} 

あなたBaseAdapterにフィルター処理を実装しているそのunimplentedメソッドを追加SearchView

SearchManager searchManager = (SearchManager) 
          getSystemService(Context.SEARCH_SERVICE); 
    searchMenuItem = menu.findItem(R.id.search); 
    searchView = (SearchView) searchMenuItem.getActionView(); 

を作成する必要があります。 フィルタリングされたデータに対してarraylistを作成する必要があります。

関連する問題