如何在选择行后更新tablelayout中的项目?

时间:2014-05-23 07:38:59

标签: android tablelayout tablerow

我有TableLayout有2个按钮和一些textView 我使用这些代码从sq-lite动态添加行,它可以工作:

   TableLayout tbl
           = (TableLayout) Vfood.findViewById(R.id.frag_food);
    ///
    ///somecode
    ///
    dbfood.open();
    Cursor cursor = dbfood.getGroupFood(group_Name);
    int i = 1;
    if (cursor.moveToFirst()) {
        do {
        TableRow tr = new TableRow(getActivity());
        tr.setId(i);

        //btnAdd
        final Button btnAddDeser = new Button(getActivity());
        btnAddDeser.setText("add");
        btnAddDeser.setId(i);
        TableRow.LayoutParams trParams1 
    = new TableRow.LayoutParams(65, TableRow.LayoutParams.MATCH_PARENT);
        btnAddDeser.setGravity(Gravity.LEFT);
        btnAddDeser.setTextSize(10);
        btnAddDeser.setPadding(30, 10, 10, 10);
        btnAddDeser.setMaxWidth(65);
        btnAddDeser.setMinimumWidth(70);
            //my problem>
            btnAddDeser.setOnClickListener(mListener);
            //
        tr.addView(btnAddDeser, trParams1);

            // Count
        final TextView trCount = new TextView(getActivity());
        trCount.setText(cursor .getString(3));
        trCountDeserc.setId(i);
        trCount.setTextColor(Color.BLACK);
        trCount.setGravity(Gravity.RIGHT);
        trCount.setTextSize(10);
        trCount.setPadding(10, 10, 10, 15);
        trCount.setClickable(true);
        tr.addView(trCount);
    ///
    ///other text View
    ///some code

    tbl.addView(tr, 
    new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));

       i++;

       } while (cdeser.moveToNext());

         }
     dbDeser.close();                
    return Vfood;

}

    private OnClickListener mListener = new OnClickListener() {

        @Override
        public void onClick(View v) {

                 //
         //I dont know what shoud i do !
                 //

        }
    };

我只想在用户点击按钮时将trCount增加一位数。

任何人都可以帮助我吗?

我是新手。

感谢

1 个答案:

答案 0 :(得分:1)

您只需在循环中添加此Button点击事件

 btnAddDeser.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            String str=trCount.getText().toString();

           Toast.makeText(getActivity(), str, Toast.LENGTH_LONG).show();

        }
      });