私を助けてもらえますか? ;-)アダプターを使用してリストビュー内のテキストを変更するにはどうすればいいですか?
私は2つのボタン "+"と " - "を持っています。それらを1つずつ上または下に増減したいと思います。アダプターを使用して正しいテキストビューに効果があることを確認するにはどうすればよいですか。
すべてのボタンは、最初のボタンにのみ適用されます。私は配列の位置/ idを取得しなければならないことを知っています。しかし、私はどのように知りません。
ところで
メルクはブランド
Aantalを= =
public class ListViewDemo2 extends Activity {
private ArrayList<String> data = new ArrayList<String>();
int aantal = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_view_demo2);
ListView lv = (ListView) findViewById(R.id.bestel_lijst);
lv.setAdapter(new MyListAdapter(this, R.layout.list_item, data));
generateListContent();
}
private void generateListContent(){
for (int i =0; i < 55; i++){
data.add("this is row number: " + i);
}
}
@Override
public boolean onCreateOptionsMenu (Menu menu){
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings){
return true;
}
return super.onOptionsItemSelected(item);
}
private class MyListAdapter extends ArrayAdapter<String>{
private int layout;
public MyListAdapter(Context context, int resource, List<String> objects) {
super(context, resource, objects);
layout = resource;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder mainViewholder = null;
if(convertView == null){
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(layout, parent, false);
ViewHolder viewHolder = new ViewHolder();
viewHolder.Merk = (TextView) convertView.findViewById(R.id.Merk);
viewHolder.Aantal = (TextView) convertView.findViewById(R.id.Aantal);
viewHolder.btnup = (Button) convertView.findViewById(R.id.Bup);
viewHolder.btndown = (Button) convertView.findViewById(R.id.Bdown);
viewHolder.btndown.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
aantal = aantal-1;
displayAantal(aantal);
}
});
viewHolder.btnup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
aantal = aantal+1;
displayAantal(aantal);
}
});
convertView.setTag(viewHolder);
}
else {
mainViewholder = (ViewHolder)convertView.getTag();
mainViewholder.Merk.setText(getItem(position));
}
return convertView;
}
}
public class ViewHolder {
TextView Merk;
TextView Aantal;
Button btnup;
Button btndown;
}
public void displayAantal(int aantal) {
TextView aantalView = (TextView) findViewById(R.id.Aantal);
aantalView.setText(String.valueOf(aantal));
}
}
ありがとうみんな。しかし、私はまだ立ち往生しています。
上記の設定を変更するとき。 viewHolder.btndownおよびbtnupにエラーが発生します。
私はまだnotifyDataSetChangedを処理していません。私はそれを見て、それが何を理解します。しかし、私はそれを実装する方法を理解していません。 私は、notifyDataSetChanged()のドットの前にアダプタを追加する必要があるが、どちらがどのように動作するかというヒントはありません。
本に戻る私は思う。あるいは、もう少し説明してもらえますか? –
決して男の子。私は自分自身でそれを把握することができました! –