2015-12-08 4 views
-1

Я довольно новичок в Android, и я пытаюсь создать приложение, которое будет поддерживать счет матча.

У меня есть 6 кнопок, по 3 для каждой команды, которым присваиваются разные инкрементные значения по отношению к баллам в матче по регби. С помощью этих кнопок я также хочу отслеживать количество нажатий каждой кнопки и возвращать эти значения в сообщении Toast, а также в намерении электронной почты.

Я уже создал сообщение Toast и намерения электронной почты, мне просто нужно заполнить их талицей из щелчков кнопки, которые я уже объявил как countPenA и т. Д. Приложение прекрасно работает, как и эта проблема. Я знаю его, вероятно, простую вещь для некоторых, но она избила меня. Я не могу понять это.Подсчитайте количество нажатий на кнопку

public class rugby_counter extends Activity implements View.OnClickListener { 

EditText editTextA, editTextB; 
TextView textViewA, textViewB ; 
Button penA, conA, tryA, penB, conB, tryB, reSet; 
int countA = 0; 
int countB = 0; 
int countPenA, countConA, countTryA, countPenB, countConB, countTryB = 0; 



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

    editTextA = (EditText) findViewById(R.id.editTextA); 
    editTextB = (EditText) findViewById(R.id.editTextB); 

    textViewA = (TextView) findViewById(R.id.textViewA); 
    textViewB = (TextView) findViewById(R.id.textViewB); 

    penA = (Button) findViewById(R.id.penBtnA); 
    tryA = (Button) findViewById(R.id.tryBtnA); 
    conA = (Button) findViewById(R.id.conBtnA); 

    penB = (Button) findViewById(R.id.penBtnB); 
    tryB = (Button) findViewById(R.id.tryBtnB); 
    conB = (Button) findViewById(R.id.conBtnB); 

    reSet = (Button) findViewById(R.id.restBtn); 



    //---set on click listeners on the buttons----- 
    penA.setOnClickListener(this); 
    tryA.setOnClickListener(this); 
    conA.setOnClickListener(this); 
    penB.setOnClickListener(this); 
    tryB.setOnClickListener(this); 
    conB.setOnClickListener(this); 
    reSet.setOnClickListener(this); 
} 

public void onClick(View v) { 
    switch (v.getId()) { 
     case R.id.penBtnA: 
      countA += 3; 
      textViewA.setText(Integer.toString(countA)); 

      break; 

     case R.id.conBtnA: 
      countA += 2; 
      textViewA.setText(Integer.toString(countA)); 

      break; 

     case R.id.tryBtnA: 
      countA += 5; 
      textViewA.setText(Integer.toString(countA)); 

      break; 

     case R.id.penBtnB: 
      countB += 3; 
      textViewB.setText(Integer.toString(countB)); 

      break; 

     case R.id.conBtnB: 
      countB += 2; 
      textViewB.setText(Integer.toString(countB)); 

      break; 

     case R.id.tryBtnB: 
      countB += 5; 
      textViewB.setText(Integer.toString(countB)); 

      break; 

     case R.id.restBtn: 

      if (v == reSet) { 
       countA = 0; 
       countB = 0; 
       textViewA.setText(Integer.toString(countA)); 
       textViewB.setText(Integer.toString(countB)); 
       editTextA.setText(""); 
       editTextB.setText(""); 
      } 
    } 


} 


public void summary(View view) { 




    String teamA = editTextA.getText().toString(); 
    String teamB = editTextB.getText().toString(); 
    String scoreA = textViewA.getText().toString(); 
    String scoreB = textViewB.getText().toString(); 




    if (teamA.equals("") || teamB.equals("") || scoreA.equals("") || scoreB.equals("")) 
    { 
     Toast noScore = Toast.makeText(this, getString(R.string.noScoreToast) 
       , Toast.LENGTH_LONG); 
     noScore.show(); 


    } 


    else { 
     Toast scores = Toast.makeText(this, "SCORE: \n" + teamA + ":" + scoreA + "\n" + teamB + ":" + scoreB + 
       "\n \n" + "*****MATCH STATISTICS*****" + 
       "\n \n" + teamA + ":" + "PENALTIES-" + "CONVERSIONS-" + "TRIES- \n" + teamB + ":" + "PENALTIES-" + "CONVERSIONS-" + "TRIES-", Toast.LENGTH_LONG); 
     scores.show(); 

    } 
} 


    public void email (View view) 
    { 

     String teamA = editTextA.getText().toString(); 
     String teamB = editTextB.getText().toString(); 
     String scoreA = textViewA.getText().toString(); 
     String scoreB = textViewB.getText().toString(); 

     Intent emailIntent = new Intent(Intent.ACTION_SEND); 
     emailIntent.setData(Uri.parse("mailto:")); 
     emailIntent.setType("text/plain"); 
     emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Match Result"); 
     emailIntent.putExtra(Intent.EXTRA_TEXT, "SCORE: \n" + teamA + ":" + scoreA + "\n" + teamB + ":" + scoreB + 
       "\n \n" + "*****MATCH STATISTICS*****" + 
       "\n \n" + teamA + ":" + "PENALTIES-" + "CONVERSIONS-" +"TRIES- \n" + teamB + ":"+ "PENALTIES-" + "CONVERSIONS-" +"TRIES-"); 


     startActivity(Intent.createChooser(emailIntent, getString(R.string.email_choose))); 

    } 
} 
+1

Какие проблемы вы сталкиваетесь? Я не мог этого исправить. –

+0

Мне нужно подсчитывать нажатия кнопок и отображать кол-во в тосте meassage. – user1958789

ответ

1

Прежде всего инициализировать countPenA и countPenB до нуля в начале, то, по нажатию кнопки «A» просто увеличивает значение, как это в вашем коде onClickListener для кнопки «А»: -

countPenA++; 

Теперь вы можете использовать эту переменную, чтобы получить количество кликов, сделанных пользователем на кнопке «A», и аналогичным образом сделать то же самое для кнопки «B» и любой другой кнопки, в которой вы нуждаетесь.

0

Это просто с помощью SharedPreferences: Используйте этот код, чтобы подсчитать общее количество нажатий кнопки щелкает
Использование SharedPrefereces, данные будут храниться постоянно, даже если пользователь покидает ваш app`

SharedPreferences sharedPreferences; //Declare Globally 
SharedPreferences.Editor editor;  //Declare Globally 
private static int Count = 0;   //use private static int globally 

    sharedPreferences = getApplicationContext().getSharedPreferences("SHARED_PREFS", MODE_PRIVATE); 


    findViewById(R.id.example_button).setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
      /* 
      * Using Shared Preferences to save data 
       and at the same time update the count as the button is pressed 
       multiple times    
      * */ 
      putValueInSharedPrefs(++Count); 
     } 
    }); 

public void putValueInSharedPrefs(int count) 
{ 
    editor = sharedPreferences.edit(); 
    editor.putInt("DISMISS_BUTTON_CLICK_COUNT", count); 
    editor.apply(); 

    Toast.makeText(Activity.this, "Example Button is clicked " +count+ "time(s)", Toast.LENGTH_SHORT).show(); 
} 
Смежные вопросы