/
SearchProductsFragment.java
72 lines (63 loc) 路 2.71 KB
/
SearchProductsFragment.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package openfoodfacts.github.scrachx.openfood.fragments;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.OnClick;
import butterknife.OnItemClick;
import openfoodfacts.github.scrachx.openfood.R;
import openfoodfacts.github.scrachx.openfood.models.FoodAPIRestClientUsage;
import openfoodfacts.github.scrachx.openfood.models.Product;
import openfoodfacts.github.scrachx.openfood.utils.Utils;
import openfoodfacts.github.scrachx.openfood.views.adapters.ProductsListAdapter;
public class SearchProductsFragment extends BaseFragment {
private ArrayList<Product> productItems;
private ProductsListAdapter adapter;
private FoodAPIRestClientUsage api;
@BindView(R.id.listProducts) ListView listView;
@BindView(R.id.buttonSearchProducts) Button buttonSearch;
@BindView(R.id.editTextName) EditText nameSearch;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return createView(inflater, container, R.layout.fragment_search_products);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
productItems = new ArrayList<>();
api = new FoodAPIRestClientUsage();
}
@OnItemClick(R.id.listProducts)
protected void onProductClicked(int position) {
Product p = (Product) listView.getItemAtPosition(position);
String barcode = p.getCode();
api.getProduct(barcode, getActivity());
}
@OnClick(R.id.buttonSearchProducts)
protected void onSearchProduct() {
Utils.hideKeyboard(getActivity());
if (!nameSearch.getText().toString().isEmpty()) {
buttonSearch.setEnabled(false);
api.searchProduct(nameSearch.getText().toString(), getActivity(),
new FoodAPIRestClientUsage.OnProductsCallback() {
@Override
public void onProductsResponse(boolean value, List<Product> lproducts) {
if (value) {
productItems = (ArrayList) lproducts;
adapter = new ProductsListAdapter(getActivity(), productItems);
listView.setAdapter(adapter);
}
buttonSearch.setEnabled(true);
}
}
);
}
}
}