禁用/启用按钮,投票APK

时间:2015-12-19 18:07:02

标签: java android

这是我的第一个问题!如果有人可以帮助我,我会很高兴。

我正在工作室中创建一个计算投票的APK。

他现在喜欢:

int afavor = 0;
int contra = 0;
int naosei = 0;
int whereVote=-1, CONTRA_VOTE=1, FAVOR_VOTE=2, NAOSEI_VOTE=3;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

}


public void resultado(View view) {
    String resultado = (contra) + (naosei) + (afavor) + " Votos";
    totalvotos(resultado);

}

private void totalvotos(String message) {
    TextView parcialTextView = (TextView) findViewById(R.id.parcial);
    parcialTextView.setText(message);
}


public void contra(View view) {
    Button button1 = (Button)findViewById(R.id.bcontra);
    Button button2 = (Button)findViewById(R.id.bafavor);
    Button button3 = (Button)findViewById(R.id.bnaosei);

    button1.setEnabled(false);
    button2.setEnabled(true);
    button3.setEnabled(true);


    switch(whereVote){
        case FAVOR_VOTE: afavor--; break;
        case NAOSEI_VOTE: naosei--; break;
        default: break;
    }
    whereVote=CONTRA_VOTE;


    contra = contra + 1;
    display1(contra);
}


public void afavor(View view) {
    afavor = afavor + 1;
    display1(afavor);
    Button button = (Button)findViewById(R.id.bafavor);
    button.setEnabled(false);
}

public void naosei(View view) {
    naosei = naosei + 1;
    display2(naosei);
    Button button = (Button)findViewById(R.id.bnaosei);
    button.setEnabled(false);
}




private void display(int number) {
    TextView contraTextView = (TextView) findViewById(
            R.id.contra);
    contraTextView.setText("" + number);
}

private void display1(int number) {
    TextView afavorTextView = (TextView) findViewById(
            R.id.afavor);
    afavorTextView.setText("" + number);
}
private void display2(int number) {

    TextView naoseiTextView = (TextView) findViewById(
            R.id.naosei);
    naoseiTextView.setText("" + number);
}

}

用Word完成的图表,它吸引了我的想法。

重要的是,每当用户更改投票时,新的投票按钮将禁用该按钮的旧投票,并且投票将从旧投票中取出并传递给新投票。

https://drive.google.com/file/d/0By_zCSFabSj-UkU4YjlaYUZWMEE/view

Ty以获取任何未来答案=]

@Edit

我得到了那个错误:错误:

(46,18)错误:需要持续表达 (47,18)错误:需要持续表达

case FAVOR_VOTE: afavor--; break;
case NAOSEI_VOTE: naosei--; break;

什么是蓝色月亮93?

1 个答案:

答案 0 :(得分:0)

afavorcontranaosei个功能中,您需要将相应按钮的enable属性设置为false,其余按钮设置为true

然后,您还要检查用户是否已使用整数在当前页面中投票。 -1代表'尚未投票',2代表'afavor',1代表'反对',3代表'naosei'。在这些函数上,检查此整数是否“尚未投票”:如果不是,则从相应的计数器中减去一个投票。在此之后,将其设置为按下按钮的代码。

全局:

int whereVote=-1;
final int CONTRA_VOTE=1, FAVOR_VOTE=2, NAOSEI_VOTE=3;

'contra'按钮的示例:

// Get buttons
Button button1 = (Button)findViewById(R.id.bcontra);
Button button2 = (Button)findViewById(R.id.bafavor);
Button button3 = (Button)findViewById(R.id.bnaosei);

// Enable or disable buttons
button1.setEnabled(false);
button2.setEnabled(true);
button3.setEnabled(true);

// subtract a vote (if needed)
switch(whereVote){
    case FAVOR_VOTE: afavor--; break;
    //case CONTRA_VOTE: contra--; break;
    case NAOSEI_VOTE: naosei--; break;
    default: break;
}
whereVote=CONTRA_VOTE;   

// increase vote
contra = contra + 1;
display1(contra);