更改文本视图颜色的问题 - android 片段

Issue with changing the colour of textview - android fragment

我的片段中有 2 个文本视图。打开片段时,第一个文本视图将显示为红色 (#e92624)。当按下第二个文本视图时,第一个视图应为黑色(#D8000000),第二个文本视图应变为红色。

在我的 onCreate 中,

mQuickReturnViewPas.setBackgroundColor(Color.parseColor("#e92624"));

        if (selectedView != null)
            mQuickReturnViewPas.setBackgroundColor(Color
                    .parseColor("#D8000000"));

我在 onCreate 之外,

                      mQuickReturnViewPas
                        .setOnClickListener(new View.OnClickListener() {

                            @Override
                            public void onClick(View v) {

                                if (selectedView != null)
                                    selectedView.setBackgroundColor(Color
                                            .parseColor("#D8000000"));

                                // set selectedView to be current selected view
                                selectedView = (TextView) v;

                                // change selected view to be red
                                selectedView.setBackgroundColor(Color
                                        .parseColor("#e92624"));

                            }

                        });

                mQuickReturnViewRic
                        .setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {

                                if (selectedView != null)
                                    selectedView.setBackgroundColor(Color
                                            .parseColor("#D8000000"));

                                // set selectedView to be current selected view
                                selectedView = (TextView) v;

                                // change selected view to be red
                                selectedView.setBackgroundColor(Color
                                        .parseColor("#e92624"));
                            }

                        });
            }

使用此代码,如果我按下第二个文本视图,它会变成红色,但第一个文本视图保持红色(不会变为黑色)。我应该在我的 onCreate 方法中做出什么改变来完成这个任务?

像这样更新你的方法

    mQuickReturnViewPas
                            .setOnClickListener(new View.OnClickListener() {

                                @Override
                                public void onClick(View v) {

                                    if (selectedView != null)
                                        selectedView.setBackgroundColor(Color
                                                .parseColor("#D8000000"));

                                    // set selectedView to be current selected view
                                    selectedView = (TextView) v;

                                    // change selected view to be red
                                    selectedView.setBackgroundColor(Color
                                            .parseColor("#e92624"));
                                   // change non-selected view to be black
                                            mQuickReturnViewRic.setBackgroundColor(Color
                                                .parseColor("#D8000000"));



                                }

                            });

                    mQuickReturnViewRic
                            .setOnClickListener(new View.OnClickListener() {
                                @Override
                                public void onClick(View v) {

                                    if (selectedView != null)
                                        selectedView.setBackgroundColor(Color
                                                .parseColor("#D8000000"));

                                    // set selectedView to be current selected view
                                    selectedView = (TextView) v;

                                    // change selected view to be red
                                    selectedView.setBackgroundColor(Color
                                            .parseColor("#e92624"));
                                  // change non-selected view to be black
                               mQuickReturnViewPas.setBackgroundColor(Color
                                                    .parseColor("#D8000000"));
                                }

                            });