“我在listview行中有按钮和textview”,我想在同一行中“更新textview值,同时单击按钮”?

时间:2013-02-07 12:04:06

标签: android listview button textview

如何在单击列表视图行中的按钮时添加获取textview的引用?

** ---------------------------------

TextView Button

--------------------------------- **

这是我的列表视图的示例。 我使用View Holder概念动态操作listview。 如果我点击按钮,textview的值想要更改。

我曾尝试在点击按钮时更改texview值的值,但是它会更新我点击的每个按钮的最后一行textview值。 谢谢和问候。

最后我得到了以下答案:

public void onClick(View v) {
    // TODO Auto-generated method stub

    LinearLayout layout=(LinearLayout) v.getParent();
    TextView text=(TextView)layout.findViewById(R.id.qcountHD);
    if (view.inc.getId() == v.getId()) {
        int count = Integer.parseInt(text.getText().toString());
        text.setText("" + (++count));
    } else if (view.dec.getId() == v.getId()) {
        int count = Integer.parseInt(text.getText().toString());
        if (!(count == 0)) {
            text.setText("" + (--count));
        }
    }
}

感谢您的支持.....

1 个答案:

答案 0 :(得分:2)

最后我得到了答案,我们可以使用父布局获取任何子引用。 当您单击按钮时,它指向当前父级和它的子级。

public void onClick(View v) {
        // TODO Auto-generated method stub

    RelativeLayout layout=(RelativeLayout) v.getParent();
    TextView text=(TextView)layout.findViewById(R.id.qcountHD);
    TextView product=(TextView)layout.findViewById(R.id.productHD);
    TextView price=(TextView)layout.findViewById(R.id.priceHD);


    Log.d("Current Product ",product.getText().toString());
    Log.d("Current Price ",price.getText().toString());
    Log.d("Current Quantity ",text.getText().toString());

    if (view.inc.getId() == v.getId()) {
        int count = Integer.parseInt(text.getText().toString());
        text.setText("" + (++count));
    } else if (view.dec.getId() == v.getId()) {
        int count = Integer.parseInt(text.getText().toString());
        if (!(count == 0)) {
            text.setText("" + (--count));
        }
    }

}

谢谢....