最近项目中有一个需求是RecyclerView中的Item中嵌套RecyclerView,在网上没找到什么资料,然后就自己尝试了一下。
首先看一下效果图
录制GIF现在不大方便,就直接上两个图了。
关于RecyclerView,都已经很熟悉了不熟悉的去百度一下,这里就不多介绍了。
先说一下需求,最外层的是一个RecyclerView是竖向的,然后外层RecyclerView里面Item中的RecyclerView是GridManager。
我们先看一下具体的代码:
最外层的布局代码:
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:id="@+id/rvMultipleItem"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
public class MultipleActivity extends AppCompatActivity {
private static final String TAG = "MultipleActivity";
RecyclerView mRecyclerView;
TopCategoryBean mCategoryBean = new TopCategoryBean();
MultipleAdapter mMultipleAdapter;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_multiple);
mRecyclerView = (RecyclerView) findViewById(R.id.rvMultipleItem);
mMultipleAdapter = new MultipleAdapter(this, mCategoryBean);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
new Thread(new Runnable() {
@Override
public void run() {
try {
URL url = new URL("http://api.zhuishushenqi.com/cats/lv2/statistics");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setConnectTimeout(60000);
urlConnection.setConnectTimeout(10000);
int responseCode = urlConnection.getResponseCode();
if (responseCode == 200) {
InputStream inputStream = urlConnection.