2017-07-03 40 views
-1

我已經搜索網絡來查找解決方案。如何在Recyclearview中使用兩種佈局Android

我有兩個佈局在我的活動和第一佈局我有我的recyclearview和第二我有一個textview,我想要settext通過點擊recyclear中的項目之一。

所以在onBindViewHolder我添加了點擊監聽器。 但我沒有訪問到settext的第二個佈局。

我用layoutinflator並創建了視圖。 ,我可以得到像gettext()這樣的值,但settext()無法正常工作!

我該如何解決這個問題?

UPDATE:

View v = View.inflate(context, R.layout.etelaie_activity, null); 
    TextView tt = (TextView) v.findViewById(R.id.etelaie_activity_title); 
    Toast.makeText(context, tt.getText().toString(), Toast.LENGTH_SHORT).show(); 
    this.title = title; 
    this.context = context; 

     tt.setText("ff"); 

gettext()是工作,但不會的setText申請。

+1

請提供您的代碼。 – timiTao

+0

我添加了代碼。 –

回答

1

你必須發送回撥從你的AdapterActivityViewRecyclerView的商品不同於ViewActivity

TextView tt = (TextView) v.findViewById(R.id.etelaie_activity_title); 

您充氣View和訪問其默認的書面文本(可能是你把一個文本中的XML文件),但如果這個View是在UI顯示?您未在UI上設置此View

+0

那麼'gettext()'如何工作?但'settext'不是? –

+0

你在哪裏使用這個視圖?請檢查更新的答案 – Rahul

+0

視圖在我的活動中。 [鏈接](http://s9.picofile.com/file/8299529718/photo_2017_07_03_22_30_32.jpg)見圖片。在底部的長文本是我想改變的文本。而我唯一定義的地方是在''onbind' mehod''adapter' –

1

創建等的接口:

public interface MyAdapterCallback { 
    void updateText(String text); 
} 

在活動實現這一點:

public class YourActivity implements MyAdapterCallback { 
. . . 

@Override 
void updateText(String text){ 
    textView.setText(text); 
} 
. . . 
} 

創建適配器:

Constructor(its parameter.. , MyAdapterCallback callback) 

裏面adapteronClick:致電

callback.updateText(list.get(position)) 

希望它有幫助!

+0

這正是@Rasi爲我做的。 TNX。 –