Java 如何创建该类的对象?
我有一个带构造函数的类:Java 如何创建该类的对象?,java,android,class,object,Java,Android,Class,Object,我有一个带构造函数的类: public class TestAdapter { protected static final String TAG = "DataAdapter"; private final Context mContext; private SQLiteDatabase mDb; private DatabaseHandler mDbHelper; // private static SQLiteDatabase mDb2; //
public class TestAdapter {
protected static final String TAG = "DataAdapter";
private final Context mContext;
private SQLiteDatabase mDb;
private DatabaseHandler mDbHelper;
// private static SQLiteDatabase mDb2;
// private static DatabaseHandler mDbHelper2;
public TestAdapter(Context context) {
this.mContext = context;
mDbHelper = new DatabaseHandler(mContext);
}
在这个类中,我有一个setFlag()
方法,我需要从以下方法调用它-
@Override
protected void onPostExecute(String result) {
// tv.setText(result);
Log.e("result", result);
if (Integer.parseInt(result) == 1) {
flagValue = 1;
Log.e("my","flag value set");
//TestAdapter t =new TestAdapter();
//setFlag()
}
注释部分是我需要调用该方法的地方,但我不知道如何创建“TestAdapter”类的对象。如果我使该类中的setFlag()为静态,那么该方法中使用的其他实例将无法工作,因为它们不是静态的。F1
编辑:我知道活动存在上下文,但我需要在其中创建对象的这个类不是活动。它只是一个java类,有方法将本地数据库与服务器数据库同步 简单的朋友
在AsyncTask
类的构造函数中,您有一个调用活动的上下文
比如,mContext
现在将此上下文传递给测试适配器的构造函数
像
@Override
protected void onPostExecute(String result) {
// tv.setText(result);
Log.e("result", result);
if (Integer.parseInt(result) == 1) {
flagValue = 1;
Log.e("my","flag value set");
TestAdapter t =new TestAdapter(mContext);
t.setFlag()
}
在
onCreate()
方法中生成TestAdapter adapter=newtestadapter(YourCurrentActivityName.this)
。
然后调用adapter.setFlag()在onPostExecute()
或您想要的地方编写方法。试试这个
TestAdapter object = new TestAdapter(CurrentActivty.this);
通过这种方式,您可以创建
TestAdapter
类的对象。首先在活动中声明,然后在顶部声明上下文上下文=null代码>
然后在onCreatecontext=this代码>
现在,您可以使用以下方法:
TestAdapter t=新的TestAdapter(上下文);t、 setFlag()代码>你可以这样做
TestAdapter t =new TestAdapter(getApplicationContext());
如果您说出IDE或LogCat给您带来的错误,那么将更容易帮助您。
根据构造函数的要求,使用上下文实例化
TestAdapter t =new TestAdapter(ctx);
t.setFlag()
ctx是您的上下文 在您试图创建对象的那一行,确切的问题/错误是什么?由于构造函数是参数化的,您需要传递上下文
对象。请您澄清问题。onPostExecute方法在哪里?如果您在AsyncTask
中没有调用活动的上下文
。然后只需使用调用活动的名称作为上下文,如,