2013-11-13 2 views
0

Обслуживание не начинается. Это дает мне синтаксическую ошибку при нажатии кнопки onclick, чтобы запустить службу в startService (intService); Похоже, что служба правильно объявлена, но она просит меня, под OnClick для кнопки, чтобы объявить службу в качестве переменнойандроид службы синтаксическая ошибка в кнопке onClick

public class Ship extends Activity implements View.OnClickListener { 
private static final String TAG = "ShipService"; 
public static final Integer[] TIME_IN_MINUTES = { 30, 45, 60, 180, 360 }; 
public MediaPlayer mediaPlayer; 
public Handler handler = new Handler(); 
public Button button2; 
public Button stop1; 
public Spinner spinner2; 

// Initialize the activity 
@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 

    setContentView(R.layout.ship); 
    button2 = (Button) findViewById(R.id.btn2); 
    button2.setOnClickListener(this); 
    stop1 = (Button) findViewById(R.id.stop); 
    stop1.setOnClickListener(this); 
    spinner2 = (Spinner) findViewById(R.id.spinner2); 
    ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(this, 
    android.R.layout.simple_spinner_item, TIME_IN_MINUTES); 

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner2.setAdapter(adapter); 
    Intent intService = new Intent(Ship.this, Shipservice.class); 
    intService.putExtra("TIME_IN_MINUTES", 1000); 
    startService(intService); 

} 

// Handle button callback 
@Override 
public void onClick(View v) { 
      Intent intService = new Intent(Ship.this, Shipservice.class); 
    switch (v.getId()) { 
    case R.id.btn2: 
     Log.d(TAG, "onClick: starting service"); 
     startService(intService); 
     break; 
    case R.id.stop: 
     Log.d(TAG, "onClick: stopping srvice"); 
     stopService(new Intent(this, Shipservice.class)); 
     break; 
    } 
} 
} 
+0

Вы можете опубликовать полный код. также объявлять 'Intent intService' как член класса и инициализировать его в' onCreate' и вызывать 'startService (intService);' on button click – Raghunandan

ответ

1

Вы объявляете и инициализировать переменную Intent в onCreate. Это локальная переменная для метода onCraete. Вы должны объявить свою переменную как член класса.

+0

вы можете опубликовать фрагмент кода – Raghunandan

+0

У меня есть класс обслуживания, его называемый shipervice.class и его это то, что я установил для intService равным. – user2980560

+0

Снова прочитайте: 'intService' не определен в' onClick', только в 'onCreate'. – Darkhogg

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