有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android onActivityResult设置选定行

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

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.安卓.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传过来吗

有什么想法吗?提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    为什么不在活动/片段中的ListView上使用setOnItemClickListener

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