我是android的新手,我想问一些问题,我在几个主题中搜索过,找不到具体的解决方案。
我想创建一个看起来像这样的listView:
http://postimg.org/image/9ib8gjq95/
/////////////////////////////////////////////// ///////////////
// // TextView的//的EditText按钮+ //按钮 - //
/////////////////////////////////////////////// /////////
使用相同模式的新行(TextView,EditText,Button +,Button - )动态更新此listView。
我想点击一行的+/-按钮并更改此行中EditText中存在的数字。
thnx提前!!!!package com.example.test2; import java.util.ArrayList; import android.app.Activity; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class EditCAdapter extends ArrayAdapter<Prosthesi> { int counter=0; Context context; String onoma; int layoutResourceId; ArrayList<Prosthesi> data = new ArrayList<Prosthesi>(); public EditCAdapter(Context context, int layoutResourceId, ArrayList<Prosthesi> data) { super(context, layoutResourceId, data); this.layoutResourceId = layoutResourceId; this.context = context; this.data = data; } @Override public View getView(final int position, View convertView, ViewGroup parent) { View row3 = convertView; UserHolder holder = null; if (row3 == null) { LayoutInflater inflater = ((Activity) context).getLayoutInflater(); row3 = inflater.inflate(layoutResourceId, parent, false); holder = new UserHolder(); holder.kodikos=(TextView)row3.findViewById(R.id.textD); holder.plus = (Button) row3.findViewById(R.id.buttD); holder.minus=(Button) row3.findViewById(R.id.buttD2); holder.posotita=(EditText)row3.findViewById(R.id.e4); row3.setTag(holder); } else { holder = (UserHolder) row3.getTag(); } Prosthesi user = data.get(position); holder.kodikos.setText(user.getName()); holder.plus.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub counter++; //do the stuff I described //tried this but it isn't working! // UserHolder holder=(UserHolder)v.getTag(); // holder.posotita.setText(String.valueOf(counter)); } }); return row3; } static class UserHolder { TextView kodikos; EditText posotita; Button plus; Button minus; } }
答案 0 :(得分:0)
实际上,这样您就无法获得需要更改的行edittext。首先为两个按钮设置标签,然后在getview内初始化计数器,并根据setonclicklistner上的按钮行为更改edittext上的值。这肯定会起作用。请尝试一下,告诉我你是否需要更多的帮助。