如果抛出任何异常,我试图从类中完成活动。 我正在做这样的事情:
A类:
构造
public A(Context context){
this.context=context;
read();
}
private void read(){
try {
ObjectInputStream ois = new ObjectInputStream(context.getAssets().open("Somefile.bin"));
}catch (IOException e) {
Log.d("Lets check","IOException");
((ActivityName)context).finish();
e.printStackTrace();
}
}
活动
A a=new A(this);
从活动,调用类A读取somefile,如果抛出任何异常,它应该完成活动。如上所述,我完成了活动的背景。但这不起作用?请澄清为何以及如何解决这个问题。?
答案 0 :(得分:0)
在A类中创建一个公共函数:
public static finishA(){
this.finish();
}
然后从B班打电话给finishA()
。
答案 1 :(得分:0)
尝试使用委托....从同一个活动类完成它。
活性
public MyActivity extends Activity implements EndActivity
{
.
.
.
@override
public void endActivity()
{
finish();
}
}
EndActivity.java
公共接口EndActivity { public void endActivity(); }
A.java
public A
{
private EndActivity endActivity;
public A(EndActivity endActivity)
{
this.endActivity=endActivity;
read();
}
private void read()
{
try
{
ObjectInputStream ois = new ObjectInputStream(context.getAssets().open("Somefile.bin"));
}
catch (IOException e)
{
Log.d("Lets check","IOException");
endActivity.endActivity();
e.printStackTrace();
}
}
然后从活动中进行正常调用
A a=new A(this);
答案 2 :(得分:-1)
从主活动传递“this”到类Constructor。
然后在课堂上
Activity a;
public A(Activity a){
this.a=a;
read();
}
private void read(){
try {
ObjectInputStream ois = new ObjectInputStream(context.getAssets().open("Somefile.bin"));
}catch (IOException e) {
Log.d("Lets check","IOException");
a.finish();
e.printStackTrace();
}
}