RecyclerView와 CardView를 이용해서 String[] 데이터 값들을 표시/연결 하는 것까진 성공했습니다. 그런데 Adapter에 연결된 값들을 메인 클래스에서 값을 얻으려고 하니... 에러가 나네요.
public class MainActivity extends ActionBarActivity {
.
.
.
private RecyclerView mRecyclerView;
private RecyclerView.Adapter mAdapter;
private RecyclerView.LayoutManager mLayoutManager;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
mRecyclerView.setHasFixedSize(true);
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);
mAdapter = new RecyclerAdapter(String[] Dataset);
mRecyclerView.setAdapter(mAdapter);
}
public void click1(View v) {
//RecyclerView와 관련된 메소드 사용시 에러.
//Toast는 잘됩니다.
}
card_view.xml
.
.
카드뷰
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground"
android:onClick="click1"
RecyclerView와 Adapter를 연결하는 법은 안드로이드 레퍼런스를 참고했습니다.
https://developer.android.com/training/material/lists-cards.html
RecyclerView와 관련된 메소드들을 click1 이라는 곳에서 사용하면 다음과 같은 에러가 뜹니다. 에러내용은 전부 같습니다.
java.lang.IllegalStateException: Could not execute method of the activity
Caused by: java.lang.reflect.InvocationTargetException
Caused by: java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.support.v7.widget.RecyclerView$LayoutParams
선언한 메인 클래스에서 LayoutManager의 아이템들 값을 얻는걸로 알고있는데 참조방법이 잘못된 것같고... 혹시 클릭 메소드의 사용방법이 잘못된 건가요? 아무래도 그 쪽 말고는 의심이 가는 부분이...