Android:如何更新Custom ListView的组件

时间:2013-08-01 23:42:53

标签: android android-layout android-listview

我有自定义适配器的自定义列表视图。自定义列表视图由图像和两个文本视图组成,可以说是textViewA和textViewB。现在我想在自定义列表视图的每一行中更改textViewB的文本而不更新其他组件。我的第一个问题是可能的吗?如果是,那我该怎么办呢。

3 个答案:

答案 0 :(得分:0)

您是否尝试将String[]参数传递给适配器?类似的东西:

public class CustomAdapter extends BaseAdapter {

  String[] data_text;

  CustomAdapter() {

  }

  CustomAdapter(String[] text) {
      data_text = text;
  }

  CustomAdapter(ArrayList<String> text) {

      data_text = new String[text.size()];

  for (int i = 0; i < text.size(); i++) {
      data_text[i] = text.get(i);
   }

  }

  @Override
    public int getCount() {
      return data_text.length;
  }

  @Override
    public String getItem(int position) {
      return null;
  }

  @Override
    public long getItemId(int position) {
      return position;
  }

  @Override
    public View getView(int position, View convertView, ViewGroup parent) {

      LayoutInflater inflater = getLayoutInflater();
      View row;

      row = inflater.inflate(R.layout.drawer_list_item, parent, false);

      TextView textview = (TextView) row.findViewById(R.id.text1);

      textview.setText(data_text[position]);

   return (row);

  }

}

答案 1 :(得分:0)

您必须调用notifyDataSetChanged()并更改适配器中textview的值。

答案 2 :(得分:0)

listView.setadaptor(null);
// do what ever methods here to change your data, strings objects, etc
listview.notifyDataSetChanged();