我的代码如下: -
public class Activity2 extends ListActivity {
protected void onCreate(Bundle savedInstanceState)
{
.
.
readDatafromfile();
}
public void readDatafromfile(){
..
}
现在我想以异步方式进行读取。我为此创建了另一个类,但我无法调用方法(readDatafromfile()
)。
请帮忙。
答案 0 :(得分:0)
您有三种选择:左
在Activity类中将readDatafromfile()定义为静态。
public class Activity2 extends ListActivity
{ public void readDatafromfile(){} }
在AsyncTask中定义readDatafromfile()并将您的Activity作为上下文传递。
public class MyAsync extends AsyncTask < Void , Void , Void >
{
Context ctx;
public MyAsync ( Context ctx ){ this.ctx = ctx; }
public void readDatafromfile(){}
}
创建并连接包含readDatafromfile()的IOOperation,让您的活动实现它,并将其传递给您的AsyncTask。
接口
public interface IOOperation
{ public void readDatafromfile(); }
活性
public class Activity2 extends ListActivity implements IOOperation
{
@override
public void readDatafromfile(){} }
的AsyncTask
public class MyAsync extends AsyncTask < Void , Void , Void >
{
IOOperation reader;
public MyAsync ( IOOperation reader){ this.reader= reader; }
protected Void doInBackground(Void... args)
{ reader.readDatafromfile(); }
}