1

リストビューのフラグメント内に翻訳アニメーションを作成しました。そのフラグメントページのリスト項目をクリックすると機能しますが、他のフラグメントにアクセスして戻ってきてアニメーションがトリガーされていないリスト項目をクリックすると機能しません。 onAnimationStart() メソッドのみがトリガーされ、onAnimationEnd() が実行されなかったアニメーション リスナーを試しました。また、この問題は中バージョン (API レベル 8 など) では発生せず、高 (API レベル 14、16、..) バージョンでのみ発生します。誰かがこの問題から抜け出すのを手伝ってくれることを願っています..事前に感謝します.これが私のコードです.

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.my_certificate, container, false);
        Log.d("err", "onCreateView");



        // setContentView(R.layout.my_certificate);
        Constants.passcode_chk = 0;
        getReference();
        setclick();
        DisplayMetrics displaymetrics = new DisplayMetrics();
        getActivity().getWindowManager().getDefaultDisplay()
                .getMetrics(displaymetrics);
        screenWidth = displaymetrics.widthPixels;
        if (resumeFlag == 0) {
            new RssLoadingTask_certificate().execute();
        } else {
            Log.d("err", "onCreateView else");
            if (list_no == 1) {
                try {
                    view.refreshDrawableState();
                    mainListView.clearAnimation();
                    mainListView.setVisibility(View.GONE);
                    mainListView.setVisibility(View.VISIBLE);

                } catch (Exception e) {
                    Log.d("Jemshid", "" + e.toString());
                }
                menuFlag = 0;
                lastPos = -1;
                animFlag = false;
                multi = false;
                Animating = false;

                tabimage.setImageResource(R.drawable.certificate_active_tab);
                setListing(arr_active_voucher);
                mainListView.onRefreshComplete();

            } else if (list_no == 2) {

                mainListView.clearAnimation();
                menuFlag = 0;
                lastPos = -1;
                animFlag = false;
                multi = false;
                Animating = false;
                tabimage.setImageResource(R.drawable.certificate_used_tab);
                setListing(arr_used_voucher);

                mainListView.onRefreshComplete();

            } else if (list_no == 3) {
                menuFlag = 0;
                lastPos = -1;
                animFlag = false;
                multi = false;
                Animating = false;
                tabimage.setImageResource(R.drawable.certificate_expired_tab);
                setListing(arr_expire_voucher);
                mainListView.onRefreshComplete();


            }
        }
        try {
            view.clearAnimation();
            view.refreshDrawableState();
        } catch (Exception e) {

        }
        return view;
    }

setListing メソッド、

private void setListing(ArrayList<Voucher_list> arr) {
        // TODO Auto-generated method stub

        VoucherData my_data[] = new VoucherData[arr.size()];

        for (int i = 0; i < arr.size(); i++) {

            ArrayList<Voucher_list> tmpp = arr;
            Voucher_list temp = tmpp.get(i);

            my_data[i] = new VoucherData(temp.Voucher_dealCertificateTitle,
                    temp.Voucher_voucherCode, temp.Voucher_dealTypeKey);

        }
        adapter = new ListVoucherAdapter(mActivity, R.layout.certificate_list,
                my_data, arr, mainListView);
        adapter.notifyDataSetChanged();
        mainListView.refreshDrawableState();
        mainListView.setAdapter(adapter);
        resumeFlag = 1;

    }
4

0 に答える 0