我创建了一个简单的MyComponent
,它从服务器获取数据并且每件事情都运行良好但现在我想将listView
(Item)的值传递给另一个listView
< / p>
Activity
我将值从第一个方法传递到seconde使用数组列表但是我希望在单击时传递列表视图中对应行的对象
public void onViewBind(View view, Cursor cursor, ODataRow row) {
_list = new ArrayList<>();
OControls.setText(view, R.id.person_name, row.getString("name"));
// Retrive Code dept*/
Dep dept = new Dept(context, null);
ODataRow rows_c = dept.select(
new String[]{"code"}
).get(row.getInt("dept_id")-1);
_list.add(rows_c.getString("code"));
OControls.setText(view, R.id.dept_person, rows_c.getString("code"));
// Retrive name person*/
ResPartner partner = new ResPartner(context, null);
ODataRow rows = partner.select(
new String[]{"name"}
).get(row.getInt("person_id")-1);
OControls.setText(view, R.id.Type_sanction, rows.getString("name"));
}
答案 0 :(得分:1)
在适配器中创建一个界面
public interface OnItemClickListener {
void onItemClicked(int position, Object object);
}
适配器调用
Adapter adapter = new Adapter(list, new Adapter.OnItemClickListener() {
@Override
public void onItemClicked(int position, Object object) {
// Handle Object of list item here
}
});
适配器上的
private OnItemClickListener onItemClickListener; // Global scope
在构造函数调用中:
this.onItemClickListener = onItemClickListener;
项目点击活动:
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onItemClickListener.onItemClicked(position, _list.get(position));
}
});