我在MainActivity中創建了一個Student類和一個ListView。這裏是MainActivity:如何從ListView中的單元格中提取文本
Context context;
ListView listView;
ArrayList<Student> lista;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lista= new ArrayList<>();
context=this;
Student cursant = new Student("Smith","Ben",14);
Student cursant2 = new Student("White","Jack",21);
Student cursant3 = new Student("Stewart","Matt",33);
lista.add(cursant);
lista.add(cursant2);
lista.add(cursant3);
listView=(ListView) findViewById(R.id.listview);
listView.setAdapter(new CustomAdapter(this,R.layout.activity_main,lista));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent i = new Intent(MainActivity.this,Main2Activity.class);
String selected =((TextView)view.findViewById(R.id.textViewNume)).getText().toString();
i.putExtra("name",selected);
startActivity(i);
}
});
}
這裏是我的CustomAdapter:
public class CustomAdapter extends ArrayAdapter<Student> {
ArrayList<Student> current_objects;
Context context;
private static LayoutInflater inflater=null;
public CustomAdapter(Context context, int resource, ArrayList<Student> objects) {
super(context, resource, objects);
this.current_objects=objects;
inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return current_objects.size();
}
@Override
public Student getItem(int position) {
return current_objects.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
public class Holder{
TextView tv1,tv2,tv3;
Button button;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
Holder holder = new Holder();
final View rowView;
rowView=inflater.inflate(R.layout.item,null);
holder.tv1=(TextView) rowView.findViewById(R.id.textViewNume);
holder.tv2=(TextView) rowView.findViewById(R.id.textViewPrenume);
holder.tv3=(TextView) rowView.findViewById(R.id.textViewVarsta);
final Student current_cursant = current_objects.get(position);
holder.tv1.setText(current_cursant.getNume());
holder.tv2.setText(current_cursant.getPrenume());
holder.tv3.setText(String.valueOf(current_cursant.getVarsta()));
holder.button=(Button) rowView.findViewById(R.id.button);
holder.button.setTag(position);
holder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Integer index=(Integer)v.getTag();
current_objects.remove(index.intValue());
notifyDataSetChanged();
}
});
return rowView;
}
}
我創建Main2Activity,我想顯示的名稱(在Main2Activity)時,列表視圖中的一個細胞按下。我不確定ClickListener。
顯示的代碼。 – Saini