以下是我在我的应用程序中使用的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button) findViewById(R.id.button);
b2=(Button) findViewById(R.id.button2);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setContentView(R.layout.content_main2);
b3=(PDFView) findViewById(R.id.p1);
b3.fromAsset("1.pdf").load();
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setContentView(R.layout.content_main2);
b4=(PDFView) findViewById(R.id.p1);
b4.fromAsset("2.pdf").load();
}
});
}
当我试图按回按钮时,我的主要活动不会回来。我不知道为什么。
如何处理?
答案 0 :(得分:1)
您的活动必须enum Foo {
FOO_1 = "FOO_1",
FOO_2 = "FOO_2",
}
function getEnumValues<TEnum, TKeys extends string>(e: { [key in TKeys]: TEnum }): TEnum[] {
let keys = Object.keys(e) as Array<TKeys>;
keys = keys.filter(key => e[key] !== undefined);
return keys.map(key => e[key]);
}
const fooValues: Foo[] = getEnumValues(Foo);
@Override
。或者,如果您onBackPressed()
finish()
同时拨打此MainActivity
(假设您正在通过MainActivity
拨打电话),那么您可以&#34;不完成&#34 34;它和后退按钮将自动处理。
答案 1 :(得分:0)
您的Activity
代码中有多处错误。不需要覆盖onBackPressed
函数,因为这是默认行为。但是,您在setContentView
中提到的活动中一次只能使用一个布局。
因此,在activity_main
中获取pdf查看器布局,然后像下面那样加载pdf。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button) findViewById(R.id.button);
b2=(Button) findViewById(R.id.button2);
b3=(PDFView) findViewById(R.id.p1);
b4=(PDFView) findViewById(R.id.p1);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
b3.fromAsset("1.pdf").load();
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
b4.fromAsset("2.pdf").load();
}
});
}