Android-приложение с фрагментом в версии с леденцом не работает, но работает в другой версии - PullRequest
0 голосов
/ 06 ноября 2018

Ранее я изменил API с 21 на 26, затем изменил версию Android 4 на версию 7. При запуске приложения на Android Lollipop я не получил ошибку, но приложение не запустилось должным образом. Странно, но он хорошо работает на другой версии Android.

при нажатии кнопки (например, кнопки bPayment) представления должны измениться, но в lolipop это не может измениться. Когда он щелкает, действие запускается, за исключением того, что представления не меняются. Таким образом, это выглядит как предыдущий экран / куча данных и просто сложены на передней панели. Что немного запутывает, так это то, что я все еще могу получить доступ к представлениям, размещенным под текущими представлениями. Принимая во внимание, что в другой версии для Android текущие представления просто исчезли после нажатия кнопки.

Итак, проще всего, приведенный ниже фрагмент кода отлично работает на любой версии Android, кроме Lolipop. Как заставить работать на андроиде Lolipop? Любая помощь или подсказка будет высоко ценится.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    /**
     * Inflate the layout for this fragment
     */

    final View view = inflater.inflate(R.layout.favourite_layout, container, false);

    context = getActivity();
    activity = getActivity();
    app = (MobileBankingApplication) context.getApplicationContext();

    list = (ListView) view.findViewById(R.id.favourite_exchange_list);
    list.addFooterView(new View(context), null, true);
    list.setSmoothScrollbarEnabled(true);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD)
        list.setOverScrollMode(View.OVER_SCROLL_ALWAYS);

    list.setVisibility(View.VISIBLE);
    list.startLayoutAnimation();
    getFavouritePaymentHandler();

    ImageView imageSeparator = (ImageView) getActivity().findViewById(R.id.imageViewSeparator);
    Button buttonBack = (Button) getActivity().findViewById(R.id.button_back);
    TextView title = (TextView) getActivity().findViewById(R.id.actionbar_title);
    title.setText(getResources().getString(R.string.favourite).toUpperCase());
    ImageView imageProfile = (ImageView) getActivity().findViewById(R.id.image_home);
    imageProfile.setVisibility(View.INVISIBLE);
    imageSeparator.setVisibility(View.INVISIBLE);
    buttonBack.setVisibility(View.INVISIBLE);

    tableRecurring = (TableLayout) view.findViewById(R.id.tableRecurring);
    tableHeader = (TableLayout) view.findViewById(R.id.tableHeader);
    layoutHeader = (LinearLayout) view.findViewById(R.id.layoutHeader);
    layoutRecurring = (RelativeLayout) view.findViewById(R.id.layoutRecurring);

    bPayment = (Button) view.findViewById(R.id.button1);
    bPayment.setBackgroundResource(R.drawable.tab_favourite_selected);
    bPayment.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            bRecurring.setBackgroundResource(R.drawable.tab_favourite);
            bPayment.setBackgroundResource(R.drawable.tab_favourite_selected);
            bTransfer.setBackgroundResource(R.drawable.tab_favourite);
            bTopup.setBackgroundResource(R.drawable.tab_favourite);
            layoutRecurring.setVisibility(View.GONE);
            list.setVisibility(View.VISIBLE);
            getFavouritePaymentHandler();
        }
    });

    bTransfer = (Button) view.findViewById(R.id.button2);
    bTransfer.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP || Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP_MR1) {
                Log.d("Transfer 1", "onClick: "+Build.VERSION.SDK_INT);
            } else {
                Log.d("Transfer 2", "onClick: "+Build.VERSION.SDK_INT);
            }

            bRecurring.setBackgroundResource(R.drawable.tab_favourite);
            bPayment.setBackgroundResource(R.drawable.tab_favourite);
            bTransfer.setBackgroundResource(R.drawable.tab_favourite_selected);
            bTopup.setBackgroundResource(R.drawable.tab_favourite);
            layoutRecurring.setVisibility(View.GONE);
            list.setVisibility(View.VISIBLE);
            getFavouriteTransferHandler();
        }
    });

    bTopup = (Button) view.findViewById(R.id.button3);
    bTopup.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            bRecurring.setBackgroundResource(R.drawable.tab_favourite);
            bPayment.setBackgroundResource(R.drawable.tab_favourite);
            bTransfer.setBackgroundResource(R.drawable.tab_favourite);
            bTopup.setBackgroundResource(R.drawable.tab_favourite_selected);
            layoutRecurring.setVisibility(View.GONE);
            list.setVisibility(View.VISIBLE);
            getFavouriteTopUpHandler();

        }
    });

    bRecurring = (Button) view.findViewById(R.id.button4);
    bRecurring.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            bRecurring.setBackgroundResource(R.drawable.tab_favourite_selected);
            bPayment.setBackgroundResource(R.drawable.tab_favourite);
            bTransfer.setBackgroundResource(R.drawable.tab_favourite);
            bTopup.setBackgroundResource(R.drawable.tab_favourite);
            layoutRecurring.setVisibility(View.VISIBLE);
            list.setVisibility(View.GONE);
            getFavouriteRecurringhandler();
        }
    });

    return view;

}
...