點選recyclerview的item跳轉(eventbus)傳值
**第一步,匯入依賴,如:
/*recyclerview依賴*/
compile 'com.android.support:recyclerview-v7:26.1.0'
/*fresco載入圖片*/
compile 'com.facebook.fresco:fresco:0.11.0'
/*fresco載入動圖*/
compile 'com.facebook.fresco:animated-gif:0.12.0'
/*eventbus依賴*/
compile 'org.greenrobot:eventbus:3.0.0'
**
**第二步,上程式碼,如:**
**activity_main**
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bawei.lss_rk1130.MainActivity">
<!--RecyclerView佈局-->
<android.support.v7.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</android.support.v7.widget.RecyclerView>
</android.support.constraint.ConstraintLayout>
**layout_item**
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal"
>
<!--RecyclerView的item,點選傳值-->
<!--SimpleDraweeView控制元件,放置圖片-->
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/tu"
android:layout_width="100dp"
android:layout_height="100dp"
app:roundAsCircle="true"
/>
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="咿呀咿呀呀"
/>
</LinearLayout>
**activity_send**
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bawei.lss_rk1130.SendActivity"
android:orientation="vertical"
>
<!--接受傳值控制元件-->
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/tu02"
android:layout_width="100dp"
android:layout_height="100dp"
app:roundAsCircle="true"
/>
<TextView
android:id="@+id/tv02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="耶耶耶耶耶"
/>
</android.support.constraint.ConstraintLayout>
**MainActivity**
public class MainActivity extends AppCompatActivity {
private RecyclerView mRv;
private ArrayList<String> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
/*只要寫RV佈局,就別忘了設定佈局管理器*/
mRv.setLayoutManager(new LinearLayoutManager(this));
final ArrayList<String> list = new ArrayList<>();
for(int i=0;i<10;i++){
list.add("咿呀咿呀咿呀呀啊"+i);
}
Myadapter myadapter = new Myadapter(MainActivity.this,list);
mRv.setAdapter(myadapter);
}
private void initView() {
mRv = (RecyclerView) findViewById(R.id.rv);
}
}
**Myadapter**
public class Myadapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
private Context context;
private ArrayList<String> list;
String[] path=new String[]{
"http://qq.yh31.com/tp/zjbq/201711191845013603.gif",
"http://qq.yh31.com/tp/zjbq/201711191845013603.gif",
"http://qq.yh31.com/tp/zjbq/201711191845013603.gif",
"http://qq.yh31.com/tp/zjbq/201711191845013603.gif",
"http://qq.yh31.com/tp/zjbq/201711191845013603.gif",
"http://qq.yh31.com/tp/zjbq/201711191845013603.gif",
"http://qq.yh31.com/tp/zjbq/201711191845013603.gif",
"http://qq.yh31.com/tp/zjbq/201711191845013603.gif"
};
public Myadapter(Context context, ArrayList<String> list) {
this.context = context;
this.list = list;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view=View.inflate(context,R.layout.layout_item,null);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
MyViewHolder myViewHolder= (MyViewHolder) holder;
DraweeController draweeController = Fresco.newDraweeControllerBuilder()
.setUri(path[position])
.setAutoPlayAnimations(true) // 設定載入圖片完成後是否直接進行播放
.build();
myViewHolder.tu.setController(draweeController);
myViewHolder.tv.setText(list.get(position));
/*賦值*/
final String ss=path[position];
final String s = list.get(position);
/*點選傳值*/
myViewHolder.tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EventBus.getDefault().postSticky(new EventMessage(ss,s));
Intent intent = new Intent(context, SendActivity.class);
context.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return list.size();
}
class MyViewHolder extends RecyclerView.ViewHolder{
SimpleDraweeView tu;
TextView tv;
public MyViewHolder(View itemView) {
super(itemView);
tu = itemView.findViewById(R.id.tu);
tv = itemView.findViewById(R.id.tv);
}
}
}
**Myapp **
public class Myapp extends Application{
@Override
public void onCreate() {
super.onCreate();
Fresco.initialize(this);
}
}
**EventMessage**
public class EventMessage {
private String image;
private String name;
public EventMessage(String image, String name) {
this.image = image;
this.name = name;
}
public String getName() {
return name;
}
public String getImage() {
return image;
}
/*public EventMessage(String name) {
this.name = name;
}
public String getName() {
return name;
}*/
}
**SendActivity **
public class SendActivity extends AppCompatActivity {
/**
* 耶耶耶耶耶
*/
private SimpleDraweeView mTu;
private TextView mTv;
private String image;
private String name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_send);
EventBus.getDefault().register(this);
initView();
DraweeController draweeController = Fresco.newDraweeControllerBuilder()
.setUri(image)
.setAutoPlayAnimations(true) // 設定載入圖片完成後是否直接進行播放
.build();
mTu.setController(draweeController);
mTv.setText(name);
}
private void initView() {
mTv =findViewById(R.id.tv02);
mTu=findViewById(R.id.tu02);
}
@Subscribe(sticky = true)
public void EventMagess(EventMessage messageEvent) {
image = messageEvent.getImage();
name = messageEvent.getName();
}
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
}
**最後別忘了加網路許可權,註冊圖片載入**
**大家可以先實現recyclerview的展示,再實現跳轉(eventbus)傳值**
相關推薦
點選recyclerview的item跳轉(eventbus)傳值
**第一步,匯入依賴,如: /*recyclerview依賴*/ compile 'com.android.support:recyclerview-v7:26.1.0' /*fresco載入圖片*/ compile 'com.f
封裝List,點選按鈕跳轉傳值並優化
package com.example.yinchenglong1229; import android.annotation.SuppressLint; import android.content.Intent; import android.os.AsyncTask; import android.s
H5頁面跳轉與傳值
性能 取數 body 獲取 sessions web 前端 javascrip a標簽 頁面之間的跳轉經常使用a標簽,使用mvc框架的都是通過訪問controller的請求方法,返回請求頁面。但本次開發,前端與後臺完全分離,前端APP使用HBuider來開發,後臺數據就無
JSP頁面的跳轉及傳值
路徑 direct 網頁 dir param header() dex set att 1.response.sendRedirct("跳轉到頁面的URL"); 該方法通過修改HTTP協議的HEADER部分,對瀏覽器下達重定向指令的,使瀏覽器顯示重定向網頁的內容. requ
前端外掛jquery.singlePageNav.min.js(導航點選選單跳轉與點選縮放選單摺疊按鈕緩衝效果外掛)
Bootstrap導航點選選單跳轉與點選縮放選單摺疊按鈕緩衝效果外掛jquery.singlePageNav.min.js 引入步驟: <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"><
Android中在fragment A裡面點選button跳轉到fragment B實現方法
方法一:直接getActivity,使用activity的fragmenttransation的replace方法替換 假設 class OneFragment extends Fragment{ private Button btn; @Override p
友盟登陸傳值+OkHttp+recyclerview展示瀑布流+跳轉Intent傳值+屬性動畫
友盟詳情見 https://blog.csdn.net/aijaijgnaw/article/details/84203936 分包 友盟第三方登入 MyApp(Application) package com.umeng.soexample.app; import and
vue頁面跳轉與傳值
跳轉 #<script> this.$router.push({path:'/index'}) #template <button @click="goToHome">首頁</button> #實用router-link <router-link
Android開發之Activity的建立跳轉及傳值
在Android系統的江湖中有四大元件:活動(Activity), 服務(Service), 廣播接收器(Broadcast Reciver)和內容提供者(Content Provider)。今天所介紹的就是Android開發中的四大元件之一:Activity,其他那三大元件
mpvue小程式裡面navigator點選不跳轉分析
1.一般這種情況是路徑沒有配置對,並且控制檯會報錯。2.你配置的路徑是tabbar裡定義的路徑,控制檯不報錯,但是也不會跳轉,這個時候如果你需要在導航和tabbar同時跳轉,需要加個屬性:需要注意的是,當你路徑變成非tabbar路徑時,需要把這個屬性去掉open-type="
layer彈出層的內容頁點選按鈕跳轉到新的頁面問題
在參與的一個專案中,有一個這樣的需求,匯入基礎資料成功後,預設彈出一個管理員登入頁,點選登入按鈕,需要跳到管理頁面。 匯入頁按鈕: <button type="button" id="start" class="layui-btn layui-b
js點選button跳轉到另一個頁面
點選按鈕怎麼跳轉到另外一個頁面呢?我們在網站製作中可能是需要的,因為有時我們需要做這樣的效果,尤其是將按鈕做成一個圖片,而點選圖片要跳轉到新的頁面時,怎麼做到呢? 這樣的效果可以:onclick="window.location='新頁面'" 來實現。 1.在原來的窗體中直接跳轉用 程式碼如下 window
web中關於頁面跳轉或傳值跳轉
1、使用超連結<a href="/Default/Index">新增</a><a href="#">返回顯示資訊</a>:主頁地址格式是:/+控制器名+檢視名+/ 2、 然後在控制器中例項化多個產品物件,並存儲到泛型集合,最後一併通過View()方向傳遞給檢
點選連結跳轉到微信公眾號關注頁、微信關注連結
現在的公眾號引流一般都只能是 二維碼掃碼後關注,那麼通過點選一段網頁連結(圖片、或文字)怎麼引導使用者到公眾號關注頁呢? 一、首先開啟需要設定關注頁 的公眾號 此時的公眾號應該已經開啟 原創功能並發表有原創文章(登入微信公眾平臺設定) 二、進入公眾號的訊息列表頁,並進入任意一篇 原
微信點選連結跳轉外部瀏覽器開啟指定頁面的實現
隨著微信的越來越大眾化,微信的使用程度也越來越高。隨之,產生了一種新的推廣模式,即微信推廣。在這個微信的大平臺上會衍生出許許多多的推廣手段。而移動前端作為服務於手機使用者的手機網頁技術,也不可避免的加入進來。一些客戶不僅僅滿足於自己的網站可以在微信端上完美的展現出來(因為微信大面積遮蔽掉了眾多推廣營銷的域名)
安卓-通過點選Button跳轉不同的頁面。
最近在做一個安卓前端,剛開始接觸安卓(菜鳥一隻),啥都不懂,就通過記筆記的方法來了解安卓吧。在自己的xml的檔案中定義一個Button。如下:<Button android:id="@+id/btnOne" android
js實現『載入更多』功能例項 & 點選列表跳轉到詳情頁(tap)
寫在前面: 實際操作過程中,因為要用ajax去請求很多次資料,所以效能方面肯定會打折扣,拼接資料也是很麻煩,對於列表資料比較多的情況,寫起來不方便,也不好修改維護,不過功能實現很完整,我正在考慮去看看Vue裡面不用修改v-for嘗試著讓它在陣列上面做文章。 h5專案裡需要實現簡單的分頁功
react-native最新的ES6基於頁面跳轉和傳值
引導頁面:最新的react-native頁面跳轉和傳值 /** * Sample React Native App * https://github.com/facebook/react-native */ import React, { Ap
swift UI專項訓練42 用Swift程式碼實現頁面跳轉與傳值
之前我們做過如果要點選一個按鈕實現跳轉到另一個按鈕的辦法,有時候我們需要通過一些動作來觸發頁面的跳轉,比如搖動手機,這樣就不能直接用連線的辦法來實現跳轉了,那麼如何通過程式碼的方式來實現跳轉呢?依舊使用過渡的方法,在storyboard中把要實現跳轉的兩張頁面連線,注
echarts-點選圖例跳轉,但圖例不被關閉
myChart.setOption(option_science); var triggerAction = function(action, selected) {