1. SearchFragment.class
public class SearchFragment extends Fragment {
EditText editRegion;
List<String> list;
ArrayList<String> arrayList;
RegionAdapter adapter;
ListView listRegion;
ImageView imgsearch;
String s;
public SearchFragment() {
//Required empty public constructor
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_search, container, false);
editRegion = (EditText) view.findViewById(R.id.editRegion);
listRegion = (ListView) view.findViewById(R.id.listRegion);
imgsearch = (ImageView) view.findViewById(R.id.imgsearch);
list = new ArrayList<String>();
settingList();
arrayList = new ArrayList<String>();
arrayList.addAll(list);
adapter = new RegionAdapter();
listRegion.setAdapter(adapter);
return view;
}
public class RegionAdapter extends BaseAdapter {
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Regionlist regionlist = new Regionlist(getContext());
regionlist.setTvregion(list.get(position));
regionlist.setResiod(R.drawable.ic_line2_24dp);
return regionlist;
}
}
private void settingList() {
for (int i = 0; i < Contents.two.length; i++) {
list.add(Contents.two[i]);
}
}
}
2. Regionlist.class
public class Regionlist extends LinearLayout {
Button region;
ImageView imgsubway;
public Regionlist(Context context) {
super(context);
init(context);
}
public Regionlist(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public void init(Context context) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.row_listview, this, true);
region = (Button) findViewById(R.id.region);
imgsubway = (ImageView) findViewById(R.id.imgsubway);
}
public void setTvregion(String name) {
region.setText(name);
}
public void setResiod(int resid) {
imgsubway.setImageResource(resid);
}
}
3. Contents.class
public class Contents
{ public static final String two[] =
{"소요산", "동두천", "보산", "동두천중앙", "지행", "덕정", "덕계"};
}
4.fragment_search.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/location"
... >
<TextView
android:layout_width="match_parent"
android:layout_height="40dp"
android:text="지역 설정"
.../>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/editRegion"
.../>
<ImageView
android:id="@+id/imgsearch"
.../>
</LinearLayout>
<ListView
android:id="@+id/listRegion"
.../>
</LinearLayout>
5.row_listview.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="54dp">
<ImageView
android:id="@+id/imgsubway"
.../>
<Button
android:id="@+id/region"
.../>
</LinearLayout>
여기서 리스트 검색하고 필터되어 나왔으면 좋겠는데 어떻게 해야할 지 모르겠습니다..ㅜㅜ