这是一个包含n个产品的数字菜单,产品本身被插入到horizontalScrollView中,其值包括:数量,可选项目等......
我希望通过单击按钮,TextView中显示的数字值会增加/减少......
有可能吗?
...
for(int l=0; l<jsonarraySub.length(); l++){
JSONObject obj = jsonarraySub.getJSONObject(l);
String stIdProd = obj.getString("codigo");
TextView qtd = new TextView(CardapioActivity.this);
qtd.setText("1");
qtd.setTextColor(Color.parseColor("#ffffff"));
qtd.setId(Integer.parseInt(stIdProd));
qtd.setTextSize((float) 20);
rl4.addView(qtd);
...
RelativeLayout.LayoutParams paramsMenos = new RelativeLayout.LayoutParams(70,66);
paramsMenos.topMargin = 322;
paramsMenos.leftMargin = x+640;
menos[l].setLayoutParams(paramsMenos);
menos[l].setId(Integer.parseInt(stIdProd));
menos[l].setBackgroundResource(R.drawable.btnmenos);
menos[l].setOnClickListener(new Button.OnClickListener() {
public void onClick(View v){
setMenos(stIdProd);
}
});
}
...
/*Decrease value of a textview
*/
public void setMenos(String id){
????
}
由于
答案 0 :(得分:0)
如果你想获取TextView的现有值,那么你应该做的就是减少。
/*Decrease value of a textview
*/
public void setMenos(String id){
TextView view = (TextView) findViewById(Integer.parseInt(id));
int i = Integer.parseInt(view.getText());
i--;
view.setText(i);
}
希望这有助于一些人,如果不随意发表评论并澄清你想要的内容。
答案 1 :(得分:0)
在TextView中,您需要自己手动设置ID。
qtd.setId(Integer.parseInt(stIdProd));
由于您自己设置了ID,并且您已将该ID传递给setMenos,因此您应该能够找到您尝试更改的TextView。
你尝试过这样的事吗?
/*Decrease value of a textview
*/
public void setMenos(String id){
TextView thisView = (TextView) findViewByID(Integer.parseInt(id));
Int currVal = Integer.parseInt(thisView.getText());
currVal--;
thisView.setText(currVal.toString());
}