私は、RecyclerViewの中にViews付きのCardViewを持っています。ビューにアセットを添付してすべてを動作させるアダプタを作成しました。今、これらのビューを私の活動から変更したいと思います。それを行う簡単な方法ですか?アクティビティからCardView内のビューへの参照を取得する方法は?
public class MainActivity extends AppCompatActivity {
RecyclerView recyclerView;
private RecyclerView.LayoutManager layoutManager;
private List<Offer>offers;
TextView timer; //timer inside CardView
private void getViewReferences() {
recyclerView = (RecyclerView)findViewById(R.id.mainRecyclerView);
timer = (TextView)findViewById(R.id.timer);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getViewReferences();
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
initializeData();
initializeAdapter();
timer.setText("13:16"); //NullPointerException here
}
private void initializeData(){
offers = new ArrayList<>();
offers.add(new Offer("godzina", R.drawable.zdj, 200));
offers.add(new Offer("godzina", R.drawable.zdj));
}
private void initializeAdapter() {
RecyclerViewAdapter adapter = new RecyclerViewAdapter(offers);
recyclerView.setAdapter(adapter);
}
}
ビューがどのような変更を意味するかの例を挙げることはできますか? – masp
@masp in initializeData()デフォルトの文字列 "godzina"が初期化され、initializeAdapter()でTextViewがこの値を取得するAdapterに送信しています。この操作の後、TextViewのテキストをActivityから変更したいと思います。たとえば、 "godzina" - > "string"などです。 –