MyArrayAdapter Help Me!
Добавлено: 01 апр 2015, 00:23
По одной из предыдущих тем потому, как создать свой адаптер мне стало ясно т.к. мне требовалось сделать так что бы на последних двух элементах списка отображались checkbox-ы.
class MySimpleArrayAdapter extends ArrayAdapter<String> {
private final Context context;
private final String[] values;
public MySimpleArrayAdapter(Context context, String[] values) {
super(context, R.layout.itemslid, values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.itemslid, parent, false);
TextView tvText = (TextView) rowView.findViewById(R.id.tvText);
TextView tvText2 = (TextView) rowView.findViewById(R.id.tvText2);
LinearLayout lnr = (LinearLayout) rowView.findViewById(R.id.backliner);
CheckBox cbChecked = (CheckBox) rowView.findViewById(R.id.cbChecked);
String s = values[position];
if (s.startsWith("ID1") ) {
tvText.setText("Заголовок1");
tvText2.setText("Название1");
cbChecked.setVisibility(View.GONE);
lnr.setBackgroundResource(R.color.Green);
}
else if (s.startsWith("ID2")) {
tvText.setText("Заголовок2:");
tvText2.setText("Название2");
cbChecked.setVisibility(View.GONE);
lnr.setBackgroundResource(R.color.Green);
}
else if (s.startsWith("ID3")) {
tvText.setText("Заголовок3");
tvText2.setText("Название3");
cbChecked.setVisibility(View.VISIBLE);
}
else if (s.startsWith("ID4")){
tvText.setText("Заголовок4");
tvText2.setText("Название4");
cbChecked.setVisibility(View.VISIBLE);
}
return rowView;
}
}
String[] names = {"ID1", "ID2", "ID3", "ID4"};
// создаем адаптер
MySimpleArrayAdapter sAdapter = new MySimpleArrayAdapter(getActivity(), names);
setListAdapter(sAdapter);
}
Но в данный момент столкнулся я с новой задачей над которой бьюсь уже день, вечер, уже ночь пошла.
Как мне реализовать множественный выбор на моем данном примере????????
class MySimpleArrayAdapter extends ArrayAdapter<String> {
private final Context context;
private final String[] values;
public MySimpleArrayAdapter(Context context, String[] values) {
super(context, R.layout.itemslid, values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.itemslid, parent, false);
TextView tvText = (TextView) rowView.findViewById(R.id.tvText);
TextView tvText2 = (TextView) rowView.findViewById(R.id.tvText2);
LinearLayout lnr = (LinearLayout) rowView.findViewById(R.id.backliner);
CheckBox cbChecked = (CheckBox) rowView.findViewById(R.id.cbChecked);
String s = values[position];
if (s.startsWith("ID1") ) {
tvText.setText("Заголовок1");
tvText2.setText("Название1");
cbChecked.setVisibility(View.GONE);
lnr.setBackgroundResource(R.color.Green);
}
else if (s.startsWith("ID2")) {
tvText.setText("Заголовок2:");
tvText2.setText("Название2");
cbChecked.setVisibility(View.GONE);
lnr.setBackgroundResource(R.color.Green);
}
else if (s.startsWith("ID3")) {
tvText.setText("Заголовок3");
tvText2.setText("Название3");
cbChecked.setVisibility(View.VISIBLE);
}
else if (s.startsWith("ID4")){
tvText.setText("Заголовок4");
tvText2.setText("Название4");
cbChecked.setVisibility(View.VISIBLE);
}
return rowView;
}
}
String[] names = {"ID1", "ID2", "ID3", "ID4"};
// создаем адаптер
MySimpleArrayAdapter sAdapter = new MySimpleArrayAdapter(getActivity(), names);
setListAdapter(sAdapter);
}
Но в данный момент столкнулся я с новой задачей над которой бьюсь уже день, вечер, уже ночь пошла.
Как мне реализовать множественный выбор на моем данном примере????????