Скажите, пожалуйста, как добавить элементы к listview?
MyActivity:
Код: Выделить всё
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView listView = (ListView) findViewById(R.id.listView);
String[] ListId1 = {"1", "2", "3"};
String[] ListText1 = {"Первый", "Второй", "Третий"};
CustomAdapter adapter = new CustomAdapter(this, ListId1 , ListText1);
adapter.setCustomListener(new ListViewListener() {
public void onClick(String text) {
Log.d("TEST", text);
}
});
listView.setAdapter(adapter);
final Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
button.setVisibility(View.GONE);
String[] ListId2 = {"4", "5", "6"};
String[] ListText2 = {"Четвертый", "Пятый", "Шестой"};
// Тут нужно как-то добавить их в listview
}
});
}
}
Код: Выделить всё
public interface ListViewListener {
public void onClick(String text);
}
Код: Выделить всё
public class CustomAdapter extends ArrayAdapter<String> {
private final Context context;
private final String[] id;
private final String[] text;
private ListViewListener micl;
public CustomAdapter(Context context, String[] id, String[] text) {
super(context, R.layout.list, id);
this.context = context;
this.id = id;
this.text = text;
}
public void setCustomListener(ListViewListener micl) {
this.micl = micl;
}
@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.list, parent, false);
final TextView textView = (TextView) rowView.findViewById(R.id.textView);
textView.setText(text[position]);
final int pos = position;
rowView.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (micl != null) {
micl.onClick(text[pos]);
}
}
});
return rowView;
}
}
Код: Выделить всё
notifyDatasetChanged()
Сделал маленький пример: