android-fragments 未在片段中添加社交链接

cdmah0mi  于 2022-11-14  发布在  Android
关注(0)|答案(1)|浏览(115)

我试图在我的应用程序中添加片段中的社交媒体链接。当我开始添加img_vk时,findViewById选择了红色。在空项目中,ImageView工作正常。

public class Fragment5 extends Fragment {

    ImageView img_instagram,img_vk;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        img_vk = findViewById(R.id.img_vk);
        img_vk.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                gotoUrl("https://vk.com/1234");
            }
        });
        ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment5,container,false);
        return rootView;

    }
    private void gotoUrl(String s) {
        Uri uri = Uri.parse(s);
        startActivity(new Intent(Intent.ACTION_VIEW,uri));
    }
}
h9vpoimq

h9vpoimq1#

因此,你应该先膨胀片段的视图,然后再尝试在其中找到你的视图。

public class Fragment5 extends Fragment {

    ImageView img_instagram,img_vk;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

      ViewGroup rootView = (ViewGroup)inflater.inflate(R.layout.fragment5,container,false);
        img_vk = rootView.findViewById(R.id.img_vk);
        img_vk.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                gotoUrl("https://vk.com/1234");
            }
        });
       
        return rootView;

    }
    private void gotoUrl(String s) {
        Uri uri = Uri.parse(s);
        startActivity(new Intent(Intent.ACTION_VIEW,uri));
    }
}

相关问题