当我从适配器向片段发送“154”值时,为什么我得到布尔值?

when I send "154" value from adapter to fragment, why I get boolean value?

当我从适配器向片段发送“154”值时,为什么我得到布尔值?

我在适配器中的代码

holder.coin_DiamondImg.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(context, CoinDiamondActivity.class);
                intent.putExtra("fid", newFeedModels.get(position).getFeedID());
                context.startActivity(intent);
            }
        });

在片段代码中

private String fid;
fid = getActivity().getIntent().hasExtra("fid");

为什么我需要改成private boolean fid;?

why I need to change to private boolean fid;?

你不需要。您必须请求 String 资源而不是检查是否存在。因此,更改此行:

private String fid;
fid = getActivity().getIntent().hasExtra("fid");

收件人:

private String fid;
fid = getActivity().getIntent().getStringExtra("fid");

因为hasExtra() returns 布尔值。而不是 hasExtra("fid") 使用 getStringExtra("fid") 这将 return 一个字符串值

改变

fid = getActivity().getIntent().hasExtra("fid");

fid = getActivity().getIntent().getStringExtra("fid");