【问题标题】:Change the back colour of answerd question button in android更改android中已回答问题按钮的背景颜色
【发布时间】:2020-04-27 19:02:58
【问题描述】:

大家好,我正在为我的学期使用 android 进行在线考试......假设我有 10 个问题,一次只显示 1 个问题......以及 10 个 ID 为 button1 的按钮, button2,button3.......点击每个按钮,它会直接跳到相应的问题......例如,如果我点击按钮5,它将显示问题5等等...... ...每当回答一个问题时,它的按钮背景色应该变为红色...表示它已回答...例如我回答 question5 然后 button5.backcolor =drawing.color.red...

简而言之,我如何使用循环更改所有按钮的背景色???... 在这个我的片段中有我的按钮,我在 recyclerview 中显示我的结果

【问题讨论】:

  • 请任何人帮助我

标签: android-studio android-fragments button


【解决方案1】:

在我的建议中,创建一个名为“已回答”的变量,将其初始化为零,并在用户回答问题时将其设为 1。 当用户回答问题时,通过以下代码更改颜色按钮-

int answered = 0; // change the value of answered = 1, when user answers

if(answered == 1){
button1.setBackgroundColor(ContextCompat.getColor(getContext(),R.color.pasta_co)); 
// for api level 23 and above  
                             
button1.setBackgroundColor(getResources().getColor(R.color.pasta_color)); 
// for api level below 23

}


button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {    
        
            showQuestion(yourQuestionNumber);// function to display your 
question
           
    }
});

getResources().getColor() - 不推荐使用 api 级别 23 及更高版本,即您可以使用它,但 google 不再推荐使用该功能。

ContextCompat.getColor() - 如果你有 api 23 及以上,你可以使用这个函数来改变按钮的背景颜色,它需要两个参数 第一个是上下文,第二个参数是颜色,你想把它作为按钮的背景。

button1.setOnClickListener.... 方法 - 当您单击按钮时将调用此方法,因此当您单击按钮时可以显示您想要的问题。

【讨论】:

    猜你喜欢
    • 2021-07-05
    • 2021-03-18
    • 2021-03-21
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    相关资源
    最近更新 更多