首页 > 解决方案 > 如何为 Intent 创建公共功能

问题描述

我有一个 RecyclerView 我给 OnItemClickListener 然后打开一个新活动

private TextView Judul, Sub;
        private ImageView Gambar;
        private RelativeLayout ListItem;
        private Context context;
private String[] komposisi;
    private String[] kemasan;
    private String[] caraPakai;

        ViewHolder(@NonNull final View itemView) {
            super(itemView);

            Resources res = itemView.getResources();
            Judul = itemView.findViewById(R.id.memetitle);
            Sub = itemView.findViewById(R.id.sub_meme);
            Gambar = itemView.findViewById(R.id.meme);
            komposisi = res.getStringArray(R.array.ikomposisi);
            kemasan = res.getStringArray(R.array.ikemasan);
            caraPakai = res.getStringArray(R.array.iCara_Pakai);
            context = itemView.getContext();
            ListItem = itemView.findViewById(R.id.item_list);
ListItem.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    int i = getAdapterPosition();
                    int a = R.drawable.comingsoon;

                        Intent intent = new Intent(context, Detail.class);
                        intent.putExtra("komposisi", komposisi[i]);
                        intent.putExtra("kemasan", kemasan[i]);
                        intent.putExtra("pakai", caraPakai[i]);

                        Bundle bundle = new Bundle();
                        bundle.putInt("gambar", memeList.get(i));
                        intent.putExtras(bundle);

                        context.startActivity(intent);
                    }
                }

在其他活动中,它还需要一个带有一些intent.putExtra的Intent,我认为我应该为该Intent创建一个公共函数,它只会调用detail()

ListItem.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        detail()
                     }
}

问题是如何使函数 detail() 对不起,如果我的问题令人困惑,希望你能理解我的问题,非常感谢

标签: javaandroidandroid-studio

解决方案


你可以添加你的活动

 public void detail(){
 //some codes here

        int i = getAdapterPosition();
        int a = R.drawable.comingsoon;

        Intent intent = new Intent(context, Detail.class);
        intent.putExtra("komposisi", komposisi[i]);
        intent.putExtra("kemasan", kemasan[i]);
        intent.putExtra("pakai", caraPakai[i]);
        Bundle bundle = new Bundle();
        bundle.putInt("gambar", memeList.get(i));
        intent.putExtras(bundle);
        context.startActivity(intent);

 }

推荐阅读