Альтернативный подход для ExpandableListView

Эффект -Dhttps.protocols=TLSv1 не уверен, он может зависеть от реализации и версии Java, как указано в Справочном руководстве JSSE :

Это свойство в настоящее время используемое реализацией JSSE, но не гарантируется, что его будут проверять и использовать другими реализациями.

blockquote>

В том же руководстве предлагается использовать -Djdk.tls.client.protocols=TLSv1, если ваша Java достаточно недавняя.

Чтобы проверить, вы можете добавить другое свойство, чтобы посмотреть, что происходит на самом деле (-Djavax.net.debug=all), или сделать захват сети и посмотреть на ClientHello.

-1
задан Qedrix 20 January 2019 в 07:59
поделиться

1 ответ

Так я решил свою проблему. Вы должны изменить статические значения. Я надеюсь, что это работает.

 @Override
        public void onClick(View view) {
            ViewHolder holder = (ViewHolder) recyclerView.findViewHolderForAdapterPosition(selectedItem);
            if (holder != null) {
                holder.expandButton.setSelected(false);
                holder.expandableLayout.collapse();

            }

            int position = getAdapterPosition();


            //dynamic Listview Height calculate start
            float scale = view.getContext().getResources().getConfiguration().fontScale;

            int hh = 0;
            try {
                WindowManager wm = (WindowManager) view.getContext().getSystemService(Context.WINDOW_SERVICE);
                Display display = wm.getDefaultDisplay();
                int width = display.getWidth();  // deprecated
                int height = display.getHeight();  // deprecated


                View childView = listdetail.getAdapter().getView(0, null, listdetail);
                childView.measure(UNBOUNDED, UNBOUNDED);
                hh=childView.getMeasuredHeight();
            } catch (Exception e) {
                e.printStackTrace();
            }
            int scl = (int)(scale * (12f));
            scl = scl<=0?1:scl;
            ViewGroup.LayoutParams params = listdetail.getLayoutParams();
            if(hh<=0) {
                params.height = 10 * (listdetail.getAdapter().getCount()) * scl;
            }
            else {
                params.height = (int) (((scale<0f?1f:1f) *hh * (listdetail.getAdapter().getCount()))+10);
            }
            listdetail.setLayoutParams(params);

            //dynamic Listview Height calculate stop

            if (position == selectedItem) {
                selectedItem = UNSELECTED;
            } else {
                expandButton.setSelected(true);
                expandableLayout.expand();
                selectedItem = position;

            }
        }
0
ответ дан AOK 20 January 2019 в 07:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: