У меня есть класс, который расширяет ListActivity
с помощью SimpleAdapter
в качестве адаптера списка. Мой код выглядит так:
public class ListOfFirms extends ListActivity {
Intent extras;
int time;
String km;
ArrayList<String> firms = new ArrayList<String>();
SimpleAdapter adapter;
static final ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.firms);
extras = getIntent();
time = extras.getIntExtra("time", 0);
km = extras.getStringExtra("km");
adapter = new SimpleAdapter(
this, list, R.layout.taxi_custom,
new String[] {"name","price"},
new int[] {R.id.taxi_name,R.id.taxi_price});
initializeFirm();
setListAdapter(adapter);
}
Мой вопрос заключается в том, как я могу добавить кнопку для каждого элемента в списке, кнопка должна быть плавающей вправо. Мой список содержит объект класса Firm
, как я могу узнать, какой объект я вырву из списка, когда пользователь нажимает эту кнопку?
вот пример пользовательского списка, который может помочь вам
использовать пользовательский адаптер.... и установить
listview.setAdapter(adapter);
Вам нужно будет написать CustomAdapter, который расширяет BaseAdapter.
Если вы можете использовать OnTouchListener и OnLongClickListener вместо кнопки, это немного проще реализовать. Также, если вы просто хотите выбрать элемент, проще использовать стандартные встроенные механизмы Android.
Только если вам действительно нужна кнопка в каждом элементе списка, вам нужно сделать это, как предложил Гаурав Агарвал... - это то, что вам, возможно, придется делать рано или поздно в любом случае :-)