RecyclerViev смена построения списка внутри Activity

введите сюда описание изображенияУ меня есть RecyclerView с загрузкой списка фильмов. По стандарту он идет елементами списка в котором Ссылка на постер, название, оценка, год, выпуска и краткое описание. С помощью NavigationDrawer который я засунул в Main activity я смог изменить растановку елементов списка с LinearLayoutManager на GridLayoutManager и на оборот. Но проблема в том что при смене Списка на Таблицу остается описание и прочая не нужная информация. Внимание вопрос как в Activity менять макет елемента списка? Вот код Main

public class Main extends AppCompatActivity{

    private static String JSON_URL = "https://api.themoviedb.org/3/movie/";
    private static String API = "?api_key=d58a97366ae95fdab0a70cdc8ed8db5f";
    private static String TOP = JSON_URL+"top_rated"+API;
    private static String POPULAR = JSON_URL+"popular"+API;
    private static String UNCOMING = JSON_URL="upcoming"+API;
    private static String GENRE = JSON_URL+"/genre/movie/list"+API;
    Context c;
    List<MovieModelClass> movieList;
    RecyclerView rv;
    RVAdapter adapter;
    HtmlTextView info;
    /*ImageView image;
    LinearLayout tab, short_name;*/

    private Toolbar toolbar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        c=getApplicationContext();
        toolbar = findViewById(R.id.toolbar);
       /* info = findViewById(R.id.info);
        tab = findViewById(R.id.tab);
        short_name = findViewById(R.id.short_name);
        image = findViewById(R.id.image);*/
        movieList = new ArrayList<>();
        rv = findViewById(R.id.rv);
        GetData getData = new GetData();
        getData.execute();


        setSupportActionBar(toolbar);
        getDrawer(this, toolbar);
    }
    public class GetData extends AsyncTask<String, String, String>{

        @Override
        protected String doInBackground(String... strings) {
            String current = "";
            try {
                URL url;
                HttpURLConnection urlConnection = null;
                try {
                    url = new URL(POPULAR);
                    urlConnection = (HttpURLConnection) url.openConnection();

                    InputStream inputStream = urlConnection.getInputStream();
                    InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
                    int data = inputStreamReader.read();
                    while (data != -1){
                        current+=(char)data;
                        data = inputStreamReader.read();
                    }
                    return current;
                }catch (MalformedURLException e){
                    e.printStackTrace();
                }catch (IOException e){
                    e.printStackTrace();
                }finally {
                    if(urlConnection!=null){
                        urlConnection.disconnect();
                    }
                }
            }catch (Exception e){
                e.printStackTrace();
            }
            return current;
        }
        @Override
        protected void onPostExecute(String s){
            try {
                JSONObject jsonObject = new JSONObject(s);
                JSONArray jsonArray = jsonObject.getJSONArray("results");
                for(int i = 0; i<jsonArray.length(); i++){
                    JSONObject jsonObject1 = jsonArray.getJSONObject(i);
                    MovieModelClass model = new MovieModelClass();
                    model.setName(jsonObject1.getString("title"));
                    model.setRelease(jsonObject1.getString("release_date"));
                    model.setImage(jsonObject1.getString("poster_path"));
                    model.setStars(jsonObject1.getString("vote_average"));
                    model.setInfo(jsonObject1.getString("overview"));

                    movieList.add(model);
                }
            }catch (JSONException e){
                e.printStackTrace();
            }
            PutDataIntoRecyclerView(movieList);
        }
    }
    private void PutDataIntoRecyclerView(List<MovieModelClass> movieList){
        adapter = new RVAdapter(this, movieList);
        rv.setLayoutManager(new LinearLayoutManager(this));
        rv.setAdapter(adapter);
    }

    public void getDrawer(final Activity activity, Toolbar toolbar) {
        PrimaryDrawerItem drawerHeader = new PrimaryDrawerItem().withIdentifier(1)
                .withName("Профіль").withIcon(R.drawable.account);
        SecondaryDrawerItem drawerReg = new SecondaryDrawerItem().withIdentifier(3)
                .withName("Вийти").withIcon(R.drawable.exit).withSelectable(false);
        SecondaryDrawerItem drawerString = new SecondaryDrawerItem().withIdentifier(4)
                .withName("Список").withIcon(R.drawable.list).withSelectable(false);
        SecondaryDrawerItem drawerTab = new SecondaryDrawerItem().withIdentifier(5)
                .withName("Таблиця").withIcon(R.drawable.grid).withSelectable(false);
        final IProfile profile = new ProfileDrawerItem().withIcon(R.drawable.gradient);
        AccountHeader header = new AccountHeaderBuilder()
                    .withActivity(activity)
                    .withTranslucentStatusBar(true)
                    .withHeaderBackground(R.drawable.gradient)
                    .withOnAccountHeaderProfileImageListener(new AccountHeader.OnAccountHeaderProfileImageListener() {
                        @Override
                        public boolean onProfileImageClick(View view, IProfile profile, boolean current) {
                            return false;
                        }
                        @Override
                        public boolean onProfileImageLongClick(View view, IProfile profile, boolean current) {
                            return false;
                        }
                    })
                    .addProfiles(profile)
                    .build();
            Drawer result = new DrawerBuilder()
                    .withActivity(activity)
                    .withToolbar(toolbar)
                    .withActionBarDrawerToggle(true)
                    .withActionBarDrawerToggleAnimated(true)
                    .withCloseOnClick(true)
                    .withSelectedItem(-1)
                    .withAccountHeader(header)
                    .addDrawerItems(
                            drawerHeader,
                            new DividerDrawerItem(),
                            drawerReg,
                                new DividerDrawerItem(),
                                drawerString,
                                drawerTab
                    )
                    .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
                        @Override
                        public boolean onItemClick(View view, int position, IDrawerItem drawerItem) {
                            info = view.findViewById(R.id.info);
                            if (drawerItem.getIdentifier() == 1) {
                                Intent i = new Intent(activity, Sign_In.class);
                                activity.startActivity(i);
                            }else if (drawerItem.getIdentifier() == 3) {
                                Intent i = new Intent(activity, Sign_Up.class);
                                activity.startActivity(i);
                            }else if(drawerItem.getIdentifier() == 4){
                                rv.setLayoutManager(new LinearLayoutManager(activity));
                                rv.setAdapter(adapter);
                            Toast.makeText(activity.getApplicationContext(), "Список", Toast.LENGTH_SHORT).show();
                        }else if(drawerItem.getIdentifier() == 5){
                                info.setVisibility(View.INVISIBLE);
                                rv.setLayoutManager(new GridLayoutManager(activity, 3, GridLayoutManager.VERTICAL, false));
                                rv.setAdapter(adapter);
                            Toast.makeText(activity.getApplicationContext(), "Таблиця", Toast.LENGTH_SHORT).show();
                        }
                            return true;
                        }
                    })
                    .withShowDrawerOnFirstLaunch(false)
                    .withShowDrawerUntilDraggedOpened(false)
                    .build();
        }

}

Вот код АДАПТЕРА

public class RVAdapter extends RecyclerView.Adapter<RVAdapter.MyViewHolder> {
    private Context c;
    private List<MovieModelClass> data;
    private static String JSON_URL = "https://api.themoviedb.org/3/movie/";
    private static String API = "?api_key=d58a97366ae95fdab0a70cdc8ed8db5f";
    private static String GENRE = JSON_URL+"/genre/movie/list"+API;

    public RVAdapter(Context c, List<MovieModelClass> data){
        this.c=c;
        this.data=data;
    }

    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View v;
        LayoutInflater inflater =LayoutInflater.from(c);
        v = inflater.inflate(R.layout.list, parent,false);
        return new MyViewHolder(v);
    }

    @Override
    public void onBindViewHolder(@NonNull MyViewHolder holder, int i) {
        holder.name.setText(data.get(i).getName());
        holder.release.setText(data.get(i).getRelease());
        Glide.with(c).load("https://image.tmdb.org/t/p/w500/"+data.get(i).getImage()).into(holder.image);
        holder.info.setText(data.get(i).getInfo());
        holder.stars.setText(data.get(i).getStars());
    }

    @Override
    public int getItemCount() {
        return data.size();
    }

    public class MyViewHolder extends RecyclerView.ViewHolder {
        HtmlTextView info;
        TextView name,release, stars;
        ImageView image;

        public MyViewHolder(@NonNull View v) {
            super(v);
            name = v.findViewById(R.id.cinema_name);
            release = v.findViewById(R.id.cinema_release);
            image = v.findViewById(R.id.image);
            info = v.findViewById(R.id.info);
            stars = v.findViewById(R.id.cinema_stars);
        }
    }
}

Ответы (0 шт):