Есть кастомный ListView:<LinearLayout
… >
<ListView
android:id="@+id/listView1" >
</ListView>
</LinearLayout>
С ячейкой:<TextView
android:id="@+id/text1" />
<TextView
android:id="@+id/text2" />
<Button
android:id="@+id/button1"/>
В списке, в 1 ячейке выводится text1, text2 и button1.С содержимым и адаптеромpublic class Spisok extends Activity {
private ArrayList<HashMap<String, Object>> Irr;
private static final String Form1 = "form1"; // Форма1
private static final String Form2 = "form2"; // Форма2
private static final String Form3 = "form3"; // Форма3
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_spisok);
setTitle("Irr");
ListView listView = (ListView) findViewById(R.id.listView1);
// создаем массив списков
Irr = new ArrayList<HashMap<String, Object>>();
HashMap<String, Object> hm;
hm = new HashMap<String, Object>();
hm.put(Form1, "некоторый текст 1");
hm.put(Form2, "некоторый текст 2");
hm.put(Form3, "некоторый текст 3");
Irr.add(hm);
hm = new HashMap<String, Object>();
hm.put(Form1, "некоторый текст 1");
hm.put(Form2, "некоторый текст 2");
hm.put(Form3, "некоторый текст 3");
Irr.add(hm);
SimpleAdapter adapter = new SimpleAdapter(this, Irr,
R.layout.list_item, new String[] { Form1, Form2, Form3 },
new int[] { R.id.text1, R.id.text2, R.id.text3 });
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<> arg0, View arg1, int position, long arg3) {
Intent intent = new Intent (this, SecondActivity.class );
intent.putExtra("key", "transferedText")
startActivity(intent);
} });
Необходимо, что бы при клике на Кнопку (яз ячейки - button1) загружалась новая Активность содержащая «R.id.text3» из «form3» именно той ячейки, по кнопке которой кликнули.
Осталось дописать - intent.putExtra