微信页面跳转设计
實(shí)現(xiàn)功能
? 對(duì)有recycleView的頁(yè)面進(jìn)行點(diǎn)擊跳轉(zhuǎn)設(shè)計(jì)。點(diǎn)擊頁(yè)面上的按鈕能夠跳轉(zhuǎn)到指定的詳情界面。考查的基礎(chǔ)原理是對(duì)activity的生命周期的理解以及狀態(tài)轉(zhuǎn)變操作。
創(chuàng)建詳情頁(yè)面
? 首先需要?jiǎng)?chuàng)建一個(gè)詳情頁(yè)面,頁(yè)面中展示商品的具體信息(基于實(shí)驗(yàn)的目的,詳情頁(yè)面中的內(nèi)容只有商品圖片和一段文字描述)。
public class info_apple extends AppCompatActivity {private ImageView imageView;private TextView textView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_info_apple);imageView = findViewById(R.id.apple_pic);textView = findViewById(R.id.apple_text);String text = "We do the right thing, even when it’s not easy.";textView.setText(text);imageView.setImageResource(R.drawable.apple_logo);} }? 創(chuàng)建一個(gè)Object類型的數(shù)組,用于存放3個(gè)不同的詳情頁(yè)面。三個(gè)頁(yè)面的結(jié)構(gòu)相同:
Object[] activities = {info_huawei.class,info_apple.class,info_xiaomi.class};? 在第一次實(shí)驗(yàn)的基礎(chǔ)上,對(duì)于每一個(gè)商品類的Map對(duì)象,添加了一個(gè)詳情內(nèi)容,便于在Myadapter中調(diào)用:
listitem.put("詳情",activities[i]);創(chuàng)建跳轉(zhuǎn)
? 首先需要修改item.xml文件中的布局,添加一個(gè)button。這里使用LinearLayout的垂直布局結(jié)構(gòu)將button和photo放在一起。
? 然后在Myadapter中的MyViewHolder方法中定義button對(duì)象并添加綁定:
button = itemView.findViewById(R.id.button);? 在onBindViewHolder方法中添加button的具體實(shí)現(xiàn):
holder.button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent = new Intent(context, (Class<?>) data.get(position).get("詳情"));context.startActivity(intent);} });? 在onClick函數(shù)中,需要?jiǎng)?chuàng)建一個(gè)intent對(duì)象,用于存放需要跳轉(zhuǎn)的頁(yè)面。傳入的第一個(gè)參數(shù)為當(dāng)前頁(yè)面fragment_friend,也就是Myadapter構(gòu)造函數(shù)接收的參數(shù)context;第二個(gè)參數(shù)為需要跳轉(zhuǎn)的頁(yè)面的類類型,這里就需要調(diào)用商品Map對(duì)象中的詳情內(nèi)容,并且強(qiáng)轉(zhuǎn)為(Class<?>)。最后調(diào)用startActivity( )函數(shù)實(shí)現(xiàn)跳轉(zhuǎn)。
最后的結(jié)果:點(diǎn)擊詳情按鈕后,會(huì)跳轉(zhuǎn)到當(dāng)前商品的詳情頁(yè)面。
github鏈接:https://github.com/masterluoh/Wechat
總結(jié)
- 上一篇: window环境下thrift Comp
- 下一篇: 广州二手房价分析与预测