2013-10-20 3 views
0

Я использую Spinner, моя проблема в том, что он показывает тост, когда я запускаю приложение, оно показывает первый элемент. В это время я не был выбран из Spinner.Как удалить первый раз тосты при запуске приложения?

Мне нравится это. Это показывает Малайзию в первый раз, когда приложение запускает.

В string.xml

<string name="country_prompt">choose country</string> 

    <string-array name="country_arrays"> 
     <item>Malaysia</item> 
     <item>United States</item> 
     <item>Indonesia</item> 
     <item>France</item> 
     <item>Italy</item> 
     <item>Singapore</item> 
     <item>New Zealand</item> 
     <item>India</item> 
    </string-array> 


<Spinner 
     android:id="@+id/spinner1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:entries="@array/country_arrays" 
     android:prompt="@string/country_prompt" 

     /> 

на Java файл

setContentView(R.layout.firstactivity); 
    sp= (Spinner) findViewById(R.id.spinner1); 
    sp.setOnItemSelectedListener(this) 

public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) { 
     // TODO Auto-generated method stub 

     Toast.makeText(parent.getContext(), 
       "OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(), 
       Toast.LENGTH_SHORT).show(); 

    } 

    @Override 
    public void onNothingSelected(AdapterView<?> arg0) { 
     // TODO Auto-generated method stub 

    } 

; 

ответ

0

Из того, что я понимаю, вы не хотите, чтобы Toast, который будет отображаться в первый раз, Activity работает. onItemSelected запускается, когда создается Activity, хотя пользователь фактически ничего не выбрал.

AFAIK, нет способа избежать этого. Однако вы можете легко установить флаг boolean, скажем, onCreate(), и отметьте этот флаг в onItemSelected, чтобы решить запустить код или нет, а затем переключить флаг в onItemSelected.

Так что-то вроде этого

setContentView(R.layout.firstactivity); 
    sp= (Spinner) findViewById(R.id.spinner1); 
    sp.setOnItemSelectedListener(this); 
    firstRun = true; // declare this as a member variable (before onCreate()) 

public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) { 
     // TODO Auto-generated method stub 
     if (!firstRun) 
     { 
      Toast.makeText(parent.getContext(), 
       "OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(), 
       Toast.LENGTH_SHORT).show(); 
     } 
     else 
     { firstRun = false; } 

    } 
+0

пожалуйста, вы можете помочь мне еще один вопрос ..Я нужно написать текст (любая вещь) reqular интервал времени ..because Я хочу, чтобы проверить это устройство повесить или не –

+0

На самом деле я делаю приложение в android, используя телефонную записями (получение данных с сервера), промежуточный интервал времени. Но это приложение зависает через 10 минут –

+0

. Поэтому мне нужно проверить, что каждое приложение зависает через 30 минут, если мы продолжаем писать или извлекать данные. –

Смежные вопросы