Android onActivityResult set selected row



我在尝试从弹出窗口中的列表视图中检测所选行时遇到了一些问题。这是我单击该行的部分,然后打开另一个意图:

private class ListAdapter extends BaseAdapter {
    LayoutInflater inflater;
    ViewHolder viewHolder;
    public ListAdapter(Context context) {
        inflater = LayoutInflater.from(context);
    }
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) {
            convertView = inflater.inflate(R.layout.attendee_listview_row,
                    null);
            viewHolder = new ViewHolder();
            viewHolder.txt_dName = (TextView) convertView
                    .findViewById(R.id.txtDisplayName);
            viewHolder.btn_scan = (ImageView) convertView.findViewById(R.id.btnScan);
            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }
        viewHolder.txt_dName.setText(attendeeList.get(position)
                .getAccountName().trim());
        viewHolder.btn_scan.setOnClickListener(new OnClickListener(){
            public void onClick(View v){
                Intent intent = new Intent(
                        "com.google.zxing.client.android.SCAN");
                intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
                startActivityForResult(intent, 0);
            }
        });
        return convertView;
    }
}

然后当 onActivityResult():

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == 0) {
        if (resultCode == Activity.RESULT_OK) {
            String contents = intent.getStringExtra("SCAN_RESULT");
            if(contents.equals("QRCode1")){
            }else{
                Toast.makeText(context, "QR code does not match. Please make sure you attended the correct event.",
                        Toast.LENGTH_LONG).show();
            }
        } else if (resultCode == Activity.RESULT_CANCELED) {
        }
    }
}

如果内容是 QRCode1,我想对第一行做点什么。如果是QRCode2,那么我想用第二行做点什么。

但是,我不确定我应该如何获取行号。我应该从onClick传递它吗?

有什么想法吗?提前谢谢。

为什么不在活动/片段中的列表视图上使用setOnItemClickListener?

在那里,您将有一个方法onItemClick并获取所单击项目的位置等

最新更新