Size: a a a

Android Developers

2021 January 15

ВХ

Владимир Худяков... in Android Developers
public class ActsSectionAdapter extends RecyclerView.Adapter<ActsSectionAdapter.ExampleViewHolder> {
   private final Context mContext;
   int selectedPosition = -1;
   Boolean flagPosition = false;
   public YouTubePlayer.OnInitializedListener onInitializedListener;
   private final ArrayList<ActsSectionItem> mExampleList;

   public ActsSectionAdapter(Context context, ArrayList<ActsSectionItem> exampleList) {
       mContext = context;
       mExampleList = exampleList;
   }


   @Override
   public @NotNull ExampleViewHolder onCreateViewHolder(@NotNull ViewGroup parent, int viewType) {
       View v = LayoutInflater.from(mContext).inflate(R.layout.list_custom_3, parent, false);
       return new ExampleViewHolder(v);
   }

   @Override
   public void onBindViewHolder(ExampleViewHolder holder, int position) {
       ActsSectionItem currentItem = mExampleList.get(position);
       String imageUrl = currentItem.getImageUrl();
       String creatorName = currentItem.getCreator();
       int placeCount = currentItem.getPlaceCount();
       int likeCount = currentItem.getLikeCount();
       holder.mTextViewCreator.setText(creatorName);
       holder.mTextViewLikes.setText(String.valueOf(likeCount));
       holder.mTextViewPlace.setText(String.valueOf(placeCount));
       Picasso.get().load(imageUrl).fit().centerInside().into(holder.mImageView);

       if(selectedPosition == position) {
           if(flagPosition) {
               flagPosition = false;
               holder.mLinearLayoutAdditional.animate().alpha(0f);
               holder.mLinearLayoutAdditional.setVisibility(View.GONE);
               holder.itemView.setBackgroundColor(Color.parseColor("#05042e"));
           }
           else {
               flagPosition = true;
               onInitializedListener = new YouTubePlayer.OnInitializedListener() {
                   @Override
                   public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                       youTubePlayer.loadVideo("z_JXgbDs16o");
                   }

                   @Override
                   public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {

                   }
               };

               holder.youTube.initialize(YouTubeConfig.getApiKey(), onInitializedListener);
               holder.mLinearLayoutAdditional.animate().alpha(1f);
               holder.mLinearLayoutAdditional.setVisibility(View.VISIBLE);
               holder.itemView.setBackgroundResource(R.drawable.view_substarte_country_list);

           }
       }
       else {
           holder.mLinearLayoutAdditional.animate().alpha(0f);
           holder.mLinearLayoutAdditional.setVisibility(View.GONE);
           holder.itemView.setBackgroundColor(Color.parseColor("#05042e"));
       }

       holder.itemView.setOnClickListener(v -> {
           selectedPosition = position;
           notifyDataSetChanged();
       });
   }

   @Override
   public int getItemCount() {
       return mExampleList.size();
   }
   public static class ExampleViewHolder extends RecyclerView.ViewHolder {
       public ImageView mImageView;
       public TextView mTextViewCreator;
       public TextView mTextViewLikes;
       public TextView mTextViewPlace;
       public LinearLayout mLinearLayoutAdditional;
       public YouTubePlayerView youTube;

       public ExampleViewHolder(View itemView) {
           super(itemView);
           youTube = (YouTubePlayerView) itemView.findViewById(R.id.player);
           mLinearLayoutAdditional = itemView.findViewById(R.id.linear);
           mImageView = itemView.findViewById(R.id.imageViewLogoCountryList3);
           mTextViewCreator = itemView.findViewById(R.id.textViewNameCountryList3);
           mTextViewLikes = itemView.findViewById(R.id.textViewPointsList3);
           mTextViewPlace = itemView.findViewById(R.id.textViewPlaceList3);
       }
   }
}
@Override
   public @NotNull ExampleViewHolder onCreateViewHolder(@NotNull ViewGroup parent, int viewType) {
       View v = LayoutInflater.from(mContext).inflate(R.layout.list_custom_3, parent, false);
       return new ExampleViewHolder(v);
   }

   @Override
   public void onBindViewHolder(ExampleViewHolder holder, int position) {
       ActsSectionItem currentItem = mExampleList.get(position);
       String imageUrl = currentItem.getImageUrl();
       String creatorName = currentItem.getCreator();
       int placeCount = currentItem.getPlaceCount();
       int likeCount = currentItem.getLikeCount();
       holder.mTextViewCreator.setText(creatorName);
       holder.mTextViewLikes.setText(String.valueOf(likeCount));
       holder.mTextViewPlace.setText(String.valueOf(placeCount));
       Picasso.get().load(imageUrl).fit().centerInside().into(holder.mImageView);

       if(selectedPosition == position) {
           if(flagPosition) {
               flagPosition = false;
               holder.mLinearLayoutAdditional.animate().alpha(0f);
               holder.mLinearLayoutAdditional.setVisibility(View.GONE);
               holder.itemView.setBackgroundColor(Color.parseColor("#05042e"));
           }
           else {
               flagPosition = true;
               onInitializedListener = new YouTubePlayer.OnInitializedListener() {
                   @Override
                   public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                       youTubePlayer.loadVideo("z_JXgbDs16o");
                   }

                   @Override
                   public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {

                   }
               };

               holder.youTube.initialize(YouTubeConfig.getApiKey(), onInitializedListener);
               holder.mLinearLayoutAdditional.animate().alpha(1f);
               holder.mLinearLayoutAdditional.setVisibility(View.VISIBLE);
               holder.itemView.setBackgroundResource(R.drawable.view_substarte_country_list);

           }
       }
       else {
           holder.mLinearLayoutAdditional.animate().alpha(0f);
           holder.mLinearLayoutAdditional.setVisibility(View.GONE);
           holder.itemView.setBackgroundColor(Color.parseColor("#05042e"));
       }

       holder.itemView.setOnClickListener(v -> {
           selectedPosition = position;
           notifyDataSetChanged();
       });
   }

   @Override
   public int getItemCount() {
       return mExampleList.size();
   }
   public static class ExampleViewHolder extends RecyclerView.ViewHolder {
       public ImageView mImageView;
       public TextView mTextViewCreator;
       public TextView mTextViewLikes;
       public TextView mTextViewPlace;
       public LinearLayout mLinearLayoutAdditional;
       public YouTubePlayerView youTube;

       public ExampleViewHolder(View itemView) {
           super(itemView);
           youTube = (YouTubePlayerView) itemView.findViewById(R.id.player);
           mLinearLayoutAdditional = itemView.findViewById(R.id.linear);
           mImageView = itemView.findViewById(R.id.imageViewLogoCountryList3);
           mTextViewCreator = itemView.findViewById(R.id.textViewNameCountryList3);
           mTextViewLikes = itemView.findViewById(R.id.textViewPointsList3);
           mTextViewPlace = itemView.findViewById(R.id.textViewPlaceList3);
       }
   }
}
источник

ВХ

Владимир Худяков... in Android Developers
При чем сам код я как понял рабочий, я все убирал и снова выходила ошибка :/
источник

D

Denis in Android Developers
они динамически устанавливаются?
источник

L

Leonid in Android Developers
Владимир Худяков
public class ActsSectionAdapter extends RecyclerView.Adapter<ActsSectionAdapter.ExampleViewHolder> {
   private final Context mContext;
   int selectedPosition = -1;
   Boolean flagPosition = false;
   public YouTubePlayer.OnInitializedListener onInitializedListener;
   private final ArrayList<ActsSectionItem> mExampleList;

   public ActsSectionAdapter(Context context, ArrayList<ActsSectionItem> exampleList) {
       mContext = context;
       mExampleList = exampleList;
   }


   @Override
   public @NotNull ExampleViewHolder onCreateViewHolder(@NotNull ViewGroup parent, int viewType) {
       View v = LayoutInflater.from(mContext).inflate(R.layout.list_custom_3, parent, false);
       return new ExampleViewHolder(v);
   }

   @Override
   public void onBindViewHolder(ExampleViewHolder holder, int position) {
       ActsSectionItem currentItem = mExampleList.get(position);
       String imageUrl = currentItem.getImageUrl();
       String creatorName = currentItem.getCreator();
       int placeCount = currentItem.getPlaceCount();
       int likeCount = currentItem.getLikeCount();
       holder.mTextViewCreator.setText(creatorName);
       holder.mTextViewLikes.setText(String.valueOf(likeCount));
       holder.mTextViewPlace.setText(String.valueOf(placeCount));
       Picasso.get().load(imageUrl).fit().centerInside().into(holder.mImageView);

       if(selectedPosition == position) {
           if(flagPosition) {
               flagPosition = false;
               holder.mLinearLayoutAdditional.animate().alpha(0f);
               holder.mLinearLayoutAdditional.setVisibility(View.GONE);
               holder.itemView.setBackgroundColor(Color.parseColor("#05042e"));
           }
           else {
               flagPosition = true;
               onInitializedListener = new YouTubePlayer.OnInitializedListener() {
                   @Override
                   public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                       youTubePlayer.loadVideo("z_JXgbDs16o");
                   }

                   @Override
                   public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {

                   }
               };

               holder.youTube.initialize(YouTubeConfig.getApiKey(), onInitializedListener);
               holder.mLinearLayoutAdditional.animate().alpha(1f);
               holder.mLinearLayoutAdditional.setVisibility(View.VISIBLE);
               holder.itemView.setBackgroundResource(R.drawable.view_substarte_country_list);

           }
       }
       else {
           holder.mLinearLayoutAdditional.animate().alpha(0f);
           holder.mLinearLayoutAdditional.setVisibility(View.GONE);
           holder.itemView.setBackgroundColor(Color.parseColor("#05042e"));
       }

       holder.itemView.setOnClickListener(v -> {
           selectedPosition = position;
           notifyDataSetChanged();
       });
   }

   @Override
   public int getItemCount() {
       return mExampleList.size();
   }
   public static class ExampleViewHolder extends RecyclerView.ViewHolder {
       public ImageView mImageView;
       public TextView mTextViewCreator;
       public TextView mTextViewLikes;
       public TextView mTextViewPlace;
       public LinearLayout mLinearLayoutAdditional;
       public YouTubePlayerView youTube;

       public ExampleViewHolder(View itemView) {
           super(itemView);
           youTube = (YouTubePlayerView) itemView.findViewById(R.id.player);
           mLinearLayoutAdditional = itemView.findViewById(R.id.linear);
           mImageView = itemView.findViewById(R.id.imageViewLogoCountryList3);
           mTextViewCreator = itemView.findViewById(R.id.textViewNameCountryList3);
           mTextViewLikes = itemView.findViewById(R.id.textViewPointsList3);
           mTextViewPlace = itemView.findViewById(R.id.textViewPlaceList3);
       }
   }
}
@Override
   public @NotNull ExampleViewHolder onCreateViewHolder(@NotNull ViewGroup parent, int viewType) {
       View v = LayoutInflater.from(mContext).inflate(R.layout.list_custom_3, parent, false);
       return new ExampleViewHolder(v);
   }

   @Override
   public void onBindViewHolder(ExampleViewHolder holder, int position) {
       ActsSectionItem currentItem = mExampleList.get(position);
       String imageUrl = currentItem.getImageUrl();
       String creatorName = currentItem.getCreator();
       int placeCount = currentItem.getPlaceCount();
       int likeCount = currentItem.getLikeCount();
       holder.mTextViewCreator.setText(creatorName);
       holder.mTextViewLikes.setText(String.valueOf(likeCount));
       holder.mTextViewPlace.setText(String.valueOf(placeCount));
       Picasso.get().load(imageUrl).fit().centerInside().into(holder.mImageView);

       if(selectedPosition == position) {
           if(flagPosition) {
               flagPosition = false;
               holder.mLinearLayoutAdditional.animate().alpha(0f);
               holder.mLinearLayoutAdditional.setVisibility(View.GONE);
               holder.itemView.setBackgroundColor(Color.parseColor("#05042e"));
           }
           else {
               flagPosition = true;
               onInitializedListener = new YouTubePlayer.OnInitializedListener() {
                   @Override
                   public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                       youTubePlayer.loadVideo("z_JXgbDs16o");
                   }

                   @Override
                   public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {

                   }
               };

               holder.youTube.initialize(YouTubeConfig.getApiKey(), onInitializedListener);
               holder.mLinearLayoutAdditional.animate().alpha(1f);
               holder.mLinearLayoutAdditional.setVisibility(View.VISIBLE);
               holder.itemView.setBackgroundResource(R.drawable.view_substarte_country_list);

           }
       }
       else {
           holder.mLinearLayoutAdditional.animate().alpha(0f);
           holder.mLinearLayoutAdditional.setVisibility(View.GONE);
           holder.itemView.setBackgroundColor(Color.parseColor("#05042e"));
       }

       holder.itemView.setOnClickListener(v -> {
           selectedPosition = position;
           notifyDataSetChanged();
       });
   }

   @Override
   public int getItemCount() {
       return mExampleList.size();
   }
   public static class ExampleViewHolder extends RecyclerView.ViewHolder {
       public ImageView mImageView;
       public TextView mTextViewCreator;
       public TextView mTextViewLikes;
       public TextView mTextViewPlace;
       public LinearLayout mLinearLayoutAdditional;
       public YouTubePlayerView youTube;

       public ExampleViewHolder(View itemView) {
           super(itemView);
           youTube = (YouTubePlayerView) itemView.findViewById(R.id.player);
           mLinearLayoutAdditional = itemView.findViewById(R.id.linear);
           mImageView = itemView.findViewById(R.id.imageViewLogoCountryList3);
           mTextViewCreator = itemView.findViewById(R.id.textViewNameCountryList3);
           mTextViewLikes = itemView.findViewById(R.id.textViewPointsList3);
           mTextViewPlace = itemView.findViewById(R.id.textViewPlaceList3);
       }
   }
}
Многабукаф.
Нет смысла передавать context в адаптер. Он там уже есть.
источник

D

Denis in Android Developers
akella122⌬
кода больше если ресайкл. В листе вроде не нужен адаптер
не намного больше. 5 минут времени
источник

ВХ

Владимир Худяков... in Android Developers
Leonid
Многабукаф.
Нет смысла передавать context в адаптер. Он там уже есть.
да суть тут даже не в этом, проблема я уже как понял точно не в адаптере, я все убирал, когда View элемент убираю, то все начинает работать! :)
источник

a

akella122⌬ in Android Developers
Denis
не намного больше. 5 минут времени
Сначала надо само боковое меню запилить
источник

D

Denis in Android Developers
akella122⌬
Сначала надо само боковое меню запилить
так это статик или динамик?
источник

L

Leonid in Android Developers
akella122⌬
Сначала надо само боковое меню запилить
Drawer
источник

L

Leonid in Android Developers
Вроде даже есть скелет такого приложения в Android studio
источник

РК

Рахим Курбанов... in Android Developers
Пацаны вот у меня опыт 2 года Python, C#
источник

РК

Рахим Курбанов... in Android Developers
Сколько примерно можно будет зарабатывать?
источник

ВХ

Владимир Худяков... in Android Developers
истерике привет
источник

РК

Рахим Курбанов... in Android Developers
Я просто очень хорошо этим занимаюсь а вот какую область выбрать хз
источник

d

danilshik in Android Developers
Рахим Курбанов
Пацаны вот у меня опыт 2 года Python, C#
в Android? Ни сколько, ну если только на Unity
источник

РК

Рахим Курбанов... in Android Developers
Кхм.. понятно, Спасибо
источник

M

MadMaxPain in Android Developers
Рахим Курбанов
Я просто очень хорошо этим занимаюсь а вот какую область выбрать хз
думаю примерно тож самое, что и с iOS, ну может чуть меньше
источник

d

danilshik in Android Developers
Рахим Курбанов
Кхм.. понятно, Спасибо
но всегда можно перейти на Java
источник

РЖ

Роман Жуков... in Android Developers
Всем привет. Кто знает, как сделать обновление мобильного приложения, не загружая в PlayMarket? Ну, то есть можно просто apk отладочный ставить, но может ещё какой-нибудь вариант есть?
источник

L

Leonid in Android Developers
Роман Жуков
Всем привет. Кто знает, как сделать обновление мобильного приложения, не загружая в PlayMarket? Ну, то есть можно просто apk отладочный ставить, но может ещё какой-нибудь вариант есть?
источник