Вызов метода clickHandler и передача значения - PullRequest
1 голос
/ 27 октября 2010

У меня есть следующий код для счетчика:

public class MyOnItemSelectedListener implements OnItemSelectedListener {

 public void onItemSelected(AdapterView<?> parent,
     View view, int pos, long id) { 

  String TABLE_NAME = parent.getItemAtPosition(pos).toString();

            int spinnerYearsPos = parent.getSelectedItemPosition();

  Cursor cursor = getStats(TABLE_NAME);           

  showStats(cursor);
 }

 public void onNothingSelected(AdapterView<?> parent) {
   // Do nothing.
 }

}

Я хотел бы передать переменную spinnerYearsPos из приведенного выше кода в этот метод:

public void clickHandler(View v ){

  if (v.getId() == R.id.TableTab) {

   Intent myIntent = new Intent(getApplicationContext(), Table.class);


      myIntent.putExtra("spinnerYearsPos", spinnerYearsPos);
       startActivity(new Intent(getApplicationContext(), Table.class));
      }

      if (v.getId() == R.id.OtherStatsTab) {

      startActivity(new Intent(getApplicationContext(), OtherStats.class));

      }

      }  

В настоящее время Eclipse подчеркивает ссылку spinnerYearsPos красным цветом.Как вызвать метод clickHandler, а затем передать в него переменную spinnerYearsPos?

1 Ответ

0 голосов
/ 27 октября 2010

/// Взять spinnerYearsPos как глобальную переменную

int spinnerYearsPos; 
   public class MyOnItemSelectedListener implements OnItemSelectedListener {


    public void onItemSelected(AdapterView<?> parent,
         View view, int pos, long id) { 

      String TABLE_NAME = parent.getItemAtPosition(pos).toString();

                spinnerYearsPos = parent.getSelectedItemPosition();

      Cursor cursor = getStats(TABLE_NAME);           

      showStats(cursor);
     }

     public void onNothingSelected(AdapterView<?> parent) {
       // Do nothing.
     }

 public void clickHandler(View v ){

      if (v.getId() == R.id.TableTab) {

       open_new_act1();
          }

          if (v.getId() == R.id.OtherStatsTab) {

          startActivity(new Intent(getApplicationContext(), OtherStats.class));

          }

          }  

//// создать этот метод ниже вне обработчика

private void open_new_act1()
{
Intent myIntent = new Intent(getApplicationContext(), Table.class);


      myIntent.putExtra("spinnerYearsPos", spinnerYearsPos);
       startActivity(new Intent(getApplicationContext(), Table.class));
}
...