这篇文章主要为大家展示了"在回收视图中如何实现按钮的跳转功能",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"在回收视图中如何实现按钮的跳转功能"这篇文章吧。
一实现功能
在实验二中我们已经实现了在类微信界面添加回收视图并添加相应的imageview,本次实验就是在回收视图中添加一个按钮控件并实现监听,使鼠标点击时可以跳转到另外一个设计好的界面,具体操作如下。
二在xml中添加布局文件
首先我们要设计点击后的跳转界面,我直接采用了淘宝中的购物界面添加了一个textview,两个imageview。(以购买华为p50为例huawei.xml)
?xmlversion='1.0 '编码='utf-8 '?
line layout xmlns : AnDroid=' http://schemas。安卓。' com/apk/RES/AnDroid '
xmlns : app=' http://架构。安卓。'自动'
Android :布局_宽度=' match _ parent '
Android :布局_高度=' match _ parent '
androd :方向='垂直'
文本视图
android:id='@ id/textView9 '
Android :布局_宽度=' wrap _ content '
Android :布局_高度=' wrap _ content '
android:text='这是华为p50购买界面'
Android :文本颜色=' @ color/紫色_500 '
android:textSize='20dp'/
ImageView
android:id='@ id/imageView3 '
Android :布局_宽度=' match _ parent '
Android :布局_高度=' wrap _ content '
android:layout_weight='1 '
app :s rccompat=' @制图能力/华为p50 tu '/
ImageView
android:id='@ id/imageView4 '
Android :布局_宽度=' match _ parent '
Android :布局_高度=' wrap _ content '
(=国家统计局标准)国家标准局
p; android:layout_weight="1"
app:srcCompat="@drawable/huaweip50" />
</LinearLayout>
三>完善java文件
要在微信中添加button,同样不能在Mainactivity中直接添加,我选择了在weixinFragement中添加,
和添加textview和imageview类似,我采取了类似的方法进行添加,但是在其中一个问题让我很苦恼,要建立一个java类型的数组,不知道用什么型来描述它,经过一番研究,我选择了用object【】来定义它。
在onCreateview中添加代码
Object[] simple={huawei.class,pingguo.class,xiaomi.class};
for(int i=0;i< label.length;i++) { Map<String, Object> listitem = new HashMap<String, Object>(); listitem.put("detail",simple[i]); listitem.put("name", label[i]); listitem.put("color", color[i]); listitem.put("price", price[i]); listitem.put("configure", config[i]); listitem.put("tutu", phone[i]); data.add(listitem); }
四>完善adapter文件
首先在MyViewHolder声明一个button控件,并进行绑定
Button button2;
button2=(Button) itemView.findViewById(R.id.button2);
然后在onBindViewHolder添加button2的描述
public void onBindViewHolder(@NonNull MyViewHolder holder, @SuppressLint("RecyclerView") int position) { holder.button2.setOnClickListener(new View.OnClickListener(){ @Override public void onClick (View view){ Intent main2 = new Intent(context,(Class<?>)data.get(position).get("detail")); Toast.makeText(context.getApplicationContext(),"正在努力跳转 :)",Toast.LENGTH_SHORT).show(); context.startActivity(main2); } });
和之前的textview和imageview有所不同,他的接受position写在onClick中,因为有3个position,它要找到正确的位置进行跳转。
五>完善JAVA文件
跳转不可能直接到xml文件,它同样需要java文件来承载它,并返回相应的信息,我们新建了三个java文件,huawei,pingguo和xiaomi。此处我同样以huawei为例
package com.example.mywork_lbw; import android.content.Intent; import android.os.Bundle; import android.util.Log; import androidx.appcompat.app.AppCompatActivity; public class huawei extends AppCompatActivity { public huawei() { } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.huawei); Log.i("life ", "huawei is on create..."); //信息在LogCat控制台输出 Intent intent = getIntent(); } }
在setContentView中我们设置了这个java文件将显示哪一个xml文件,此处当然显示的huawei.xml。
最后就是要把上面的串联起来,在微信总布局中加入button,点击实现跳转,总界面如图:
以上是“在RecyclerView中如何实现button的跳转功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/47502.html