【发布时间】:2015-09-12 14:36:02
【问题描述】:
我的 android 应用程序由一个带有图像和其下方文本的 gridview 组成。我将一个字符串数组传递到 textview 中。我希望edittext字段充当搜索栏并过滤结果。我已经看到了其他与此相关的问题,但它们似乎过滤了一个传递给Listview的arraylist。如何在 gridview 中过滤字符串数组?
我知道我应该添加一个 TextWatcher 来监听 EditText 上的文本更改,但之后我该如何过滤我的数据?
这是我的代码
Mainactivity.java
public class MainActivity extends Activity {
EditText inputSearch;
GridView grid;
public static String[] Sname = {
"one",
"two",
"three",
"four",
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final CustomGrid adapter = new CustomGrid(MainActivity.this, Sname);
grid = (GridView) findViewById(R.id.grid);
grid.setAdapter(adapter);
grid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(MainActivity.this, "You Clicked at " + Sname[+position], Toast.LENGTH_SHORT).show();
}
});
inputSearch = (EditText) findViewById(R.id.editText);
}
}
CustomGrid.java
public class CustomGrid extends BaseAdapter {
private Context mContext;
private final String[] Sname;
public CustomGrid(Context c,String[] Sname) {
mContext = c;
this.Sname = Sname;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return Sname.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
// TODO Auto-generated method stub
View grid;
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
grid = new View(mContext);
grid = inflater.inflate(R.layout.grid_single, null);
TextView textView = (TextView) grid.findViewById(R.id.grid_text);
ImageView imageView = (ImageView)grid.findViewById(R.id.grid_image);
textView.setText(Sname[position]);
imageView.setImageResource(R.mipmap.image1);
return grid; }}
【问题讨论】:
标签: java android arrays gridview filter