在我的应用程序中,我使用此线程在时钟上旋转秒针.但问题是当我关闭活动时,线程仍然保持运行.我想停止线程,因此它无法影响设备的Bettry.
下面是我的活动代码,我在旋转时钟的秒针:
public class ClockActivity extends Activity implements OnClickListener{
private Button chimeBtn;
private ImageView img;
private Thread myThread = null;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.clock_layout);
Runnable runnable = new CountDownRunner();
myThread = new Thread(runnable);
myThread.start();
chimeBtn = (Button) findViewById(R.id.chimeBtn);
chimeBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.chimeBtn:
playSound(R.raw.one_bell);
break;
}
}
public void playSound(int resources){
MediaPlayer mp = MediaPlayer.create(getApplicationContext(), resources);
mp.start();
}
private void doPlay(){
new Thread(new Runnable() {
@Override
public void run() {
// …Run Code Online (Sandbox Code Playgroud) 我已经为我的数据库类创建了一个选项菜单.启动选项菜单后,我想点击指定按钮进行所需的活动.
但问题是,如果我点击任何选项,我会被引导到MainMenu.class.任何想法为什么会这样?
码:
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
new MenuInflater(this).inflate(R.menu.optionmenu, menu);
return(super.onCreateOptionsMenu(menu));
}
public boolean onOptionsItemSelected ( MenuItem item){
switch (item.getItemId())
{
case R.id.item1:
{ Intent r=new Intent(Database.this,MainMenu.class);
startActivity(r);
}
case R.id.takesurvey:
{
Toast toast=Toast.makeText(this, "check", 2000);
toast.show();
Intent r1=new Intent(Database.this,SurveyActivity.class);
startActivity(r1);
}
case R.id.viewstats:
{ Intent r2=new Intent(Database.this,Stats.class);
startActivity(r2);
}
case R.id.changesort:
{ Intent r3=new Intent(Database.this,MainMenu.class);
startActivity(r3);
}
case R.id.menuexit:
{ Intent r4=new Intent(Database.this,MainMenu.class);
startActivity(r4);
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)