Как получить список товара в памяти в Android - PullRequest
0 голосов
/ 02 сентября 2011

У меня есть список продуктов. Может содержать 5000 записей. Я делаю пагинацию. Сначала загружается 50 записей. Затем, если мы нажимаем следующую опцию (>), то загружаем следующие 50 опций аналогично. Я разработал макет таблицы.

    ArrayList<Product> productList = new ArrayList<Product>();
    productList = getProducts();
    TableLayout tl;

    tl = (TableLayout) findViewById(R.id.tableLayout1);
    if(productList.size() >0){
        for (int i = 0; i < productList.size(); i++) {
            TableRow tr = new TableRow(this);
            tr.setTag(i);
            TableLayout.LayoutParams tableRowParams = new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT,TableLayout.LayoutParams.WRAP_CONTENT);

            int leftMargin=10;
            int topMargin=2;
            int rightMargin=10;
            int bottomMargin=2;

            tableRowParams.setMargins(leftMargin, topMargin, rightMargin, bottomMargin);

            TextView txtCode = new TextView(this);
            TextView txtDes = new TextView(this);
            EditText txtQty = new EditText(this);
            TextView txtVal = new TextView(this);
            TextView txtDisVal = new TextView(this);
            TextView txtDisQty = new TextView(this);
            txtQty.setId(i);
            txtQty.setFocusable(true);
            txtQty.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
            txtQty.setHeight(5);
            txtQty.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);

            createView(tr, txtCode, productList.get(i).getProductCode());
            createView(tr, txtDes, productList.get(i).getDescription());
            txtQty.setText(Double.toString(productList.get(i).getPrice()));
            tr.addView(txtQty); 
            createView(tr, txtVal,"Value");
            createView(tr, txtDisVal,"0.00");
            createView(tr, txtDisQty,"0");
            tr.setOnClickListener(new View.OnClickListener(){
                 public void onClick(View view){
                   System.out.println("Row Clicked with tag " + view.getTag()); 
                 }
                });
            tl.addView(tr);
        }
    }
 }

 public void createView(TableRow tr, TextView t, String viewdata) {
        t.setText(viewdata);
        t.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        t.setTextColor(Color.DKGRAY);
        t.setPadding(1, 0, 0, 0);
        tr.setPadding(0, 0, 0, 0);
        tr.addView(t); 
    }

Это моя реализация. Я еще не реализовал часть разбиения на страницы.

Как мне загрузить ее в память и загрузить?

Пожалуйста, помогите мне

1 Ответ

1 голос
/ 02 сентября 2011

Я предлагаю вам создать функцию для получения продуктов с параметром pageindex。 Затем вы можете установить триггер, который активируется событием пагинации。 И обновите ваш интерфейс обработчиком

...