我已经尝试过各种各样的试图解释这个(我认为会是)简单概念的例子。
我有一个ListView,它使用BaseAdapter来显示信息行。我有一个名为btnEdit(R.id.Fragment_Edit_Member_RoleButton)的按钮,我需要在单击按钮后才能工作。
我已经有了这个......
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Member m = memberItems.get(position);
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.fragment_forum_members_item, null);
TextView lblMemberText = (TextView) convertView.findViewById(R.id.memberText);
TextView lblMemberRole = (TextView) convertView.findViewById(R.id.memberRole);
lblMemberRole.setText(m.getRole());
lblMemberText.setText(m.getUsername());
Button btnEdit = (Button) convertView.findViewById(R.id.Fragment_Edit_Member_RoleButton);
btnEdit.setTag(position);
btnEdit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int wantedPosition = (Integer) v.getTag();
});
现在我认为wantedPosition对我有用,但显然我想根据实际的视觉位置做一些数学运算?这就是我迷路的地方。
我尝试引用:Android: Access child views from a ListView,但此页面对我没有任何意义。他指向int firstPosition = listView.getFirstVisiblePosition() - listView.getHeaderViewsCount();但是我没有关于如何从BaseAdapter中引用我的实际listView的最模糊的线索?我甚至没有意义甚至在第一时间这样做,因为从其他一些方法调用了适配器,我们不知道哪个片段称为它。
我真的需要能够将memberText和memberRole拉出按钮所在的选定行。这是我的目标。
非常感谢帮助
答案 0 :(得分:0)
我想我是在思考它。我只是需要......
View view = (View) v.getParent();
TextView lblMemberText = (TextView) view.findViewById(R.id.memberText);
TextView lblMemberRole = (TextView) view.findViewById(R.id.memberRole);