java - 如何为 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() 对不起,如果我的问题令人困惑,希望你能理解我的问题,非常感谢
解决方案
你可以添加你的活动
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);
}
推荐阅读
- javascript - Chart.js modal window
- outlook - Outlook Redemption 抛出 MAPI_E_OBJECT_CHANGED 错误,使用未包装的 RDOStore 保存 RDOMail
- c++ - Using a vector and string function to return a string?
- voltdb - VoltDB 9.0 真的支持 Java 11 吗?
- ruby - 如何使用 Nokogiri 从 XML 中检索数据
- selenium-webdriver - 在 Selenium gradle 项目中登录时出现 NullPointerException
- php - 如何在 cakephp 中使用事务?
- r - 无法访问用于生成动态闪亮内容的函数内部的反应对象
- sql - SQL Select: Evenly Distribute Results Set
- spring-boot - Getting "unable to resolve method using strict-mode: org.drools.core.spi.KnowledgeHelper.throw()" when throwing an exception on DRL file