これは私のアダプタクラスです。私のリストでは、シークバーとテキストを編集しています。編集テキストに表示する。私はすべての編集テキストから値を取得し、それらを合計してテキストビューを表示しようとしています。私はテキスト変更リスナを編集するときにそれをしたい。合計値はテキストビューで同時に変更されます。これで私を助けてください。リストビューを反復してすべての編集テキスト値の合計を取得し、テキストビューでテキストビューと値を表示する方法
public class CustomListAdapter extends BaseAdapter {
int value=0;
ArrayList<RowItem>exp_name=new ArrayList<RowItem>();
Context context;
String TAG="myApp";
StudyExpense study;
LayoutInflater inflater=null;
public CustomListAdapter(Context context,ArrayList<RowItem>exp_name)
{
this.context=context;
this.exp_name= exp_name;
inflater = LayoutInflater.from(this.context);
}
@Override
public int getCount() {
return exp_name.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final View view;
view=inflater.inflate(R.layout.seek_items,null);
SeekBar seekBar=(SeekBar)view.findViewById(R.id.seekbarList);
TextView txtname=(TextView)view.findViewById(R.id.seekName);
final EditText txtprice=(EditText)view.findViewById(R.id.seekprice);
txtprice.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
if(exp_name.get(position).getSeekValue()==0)
{
seekBar.setProgress(0);
txtprice.setText("" + exp_name.get(position).getSeekValue());
}
else{
seekBar.setProgress(exp_name.get(position).getSeekValue());
txtprice.setText("" + exp_name.get(position).getSeekValue());
}
txtname.setText("" + exp_name.get(position).getTitle());
seekBar.setTag(Integer.valueOf(position));
seekBar.setId(position);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
txtprice.setText("" + progress);
exp_name.get(position).setSeekValue(progress);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// int id;
// id = seekBar.getId();
// String title = exp_name.get(id).getTitle();
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
return view;
}
}
メインActivityクラス(研究費)
public class StudyExpense extends AppCompatActivity implements {
ListView listView;
Toolbar toolbar;
TextView total;
ArrayList exp_name = new ArrayList();
TextView sum;
Button bt;
CustomListAdapter adapter;
String TAG = "myApp";
public static final String[] titlelist = {"Study Expense", "Travelling Expense", "Household Expense", "Sports Expense", "Entertainment",
"Food Expense", "Misc Expense"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_study_expense);
toolbar = (Toolbar) findViewById(R.id.toolbar);
adapter = new CustomListAdapter(this, exp_name);
total = (TextView) findViewById(R.id.txt_total);
listView = (ListView) findViewById(R.id.listexp);
sum = (TextView) findViewById(R.id.seekprice);
bt=(Button)findViewById(R.id.button);
listView.setAdapter(new CustomListAdapter(StudyExpense.this, exp_name));
for (int i = 0; i < titlelist.length; i++) {
RowItem item = new RowItem();
item.setTitle(titlelist[i]);
exp_name.add(item);
}
あなたの要件を満たすためには、POJOクラスの変数を増やす必要があります。 – Nisarg