在按下后退按钮后,我使用下面的代码关闭应用程序。前段时间它有用,但我试图再次使用它并且:
错误:(88,13)错误:预期的类,接口或枚举。
如果我删除此代码应用可以构建,我不知道哪里有问题?
以下MainActivity
onBackPressed
已实施:
package com.example.chab.test;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.os.Handler;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
import com.squareup.picasso.Picasso;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView image = (ImageView) findViewById(R.id.a);
ImageView image1 = (ImageView) findViewById(R.id.b);
ImageView image2 = (ImageView) findViewById(R.id.c);
ImageView image3 = (ImageView) findViewById(R.id.d);
ImageView image4 = (ImageView) findViewById(R.id.e);
ImageView image5 = (ImageView) findViewById(R.id.f);
ImageView image6 = (ImageView) findViewById(R.id.g);
Picasso.with(this).load("http:/1.jpeg").into(image);
Picasso.with(this).load("http://1.jpeg").into(image1);
Picasso.with(this).load("http://1.jpeg").into(image2);
Picasso.with(this).load("http://1.jpeg").into(image3);
Picasso.with(this).load("http://1.jpeg").into(image4);
Picasso.with(this).load("http://1.jpeg").into(image5);
Picasso.with(this).load("http://1.jpeg").into(image6);
Button btnOne = (Button) findViewById(R.id.Btn);
btnOne.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(getApplicationContext(), Activitydwa.class);
startActivity(intent);
}
});
}
} //THIS BRACKET MUST BE MOVED TO THE END OF CODE!
private Boolean exit = false;
@Override
private void super.onBackPressed() {
if (exit) {
this.finish(); // finish activity
} else {
Toast.makeText(this, "Press Back again to Exit.", Toast.LENGTH_SHORT).show();
exit = true;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
exit = false;
}
}, 3 * 1000);
}
}
编辑: 解决了。 Boollean之前的Bracket必须移动到代码的末尾。一切都行。谢谢。
答案 0 :(得分:0)
尝试放
super.onBackPressed()
在结束前()
答案 1 :(得分:0)
尝试this.finish()
或
尝试super.onBackPressed();
或
致电NavUtils.navigateUpFromSameTask(this);
以返回上一个屏幕/活动
答案 2 :(得分:0)
您的第一个问题是您的方法是在课外实施的。在java中,方法需要属于class
,interface
或enum
。仔细检查括号并将方法移到类括号内。您的第二个问题是onBackPressed
方法的签名错误。请参阅以下代码:
这就是你所拥有的:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// ...
}
}
private Boolean exit = false;
@Override
private void super.onBackPressed() {
// ...
}
这就是你需要的:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// ...
}
private Boolean exit = false;
@Override
public void onBackPressed() {
// ...
}
}