【发布时间】:2017-06-15 18:07:32
【问题描述】:
我有 MainActivity 和 Adapter。创建适配器的新实例时,我会创建新领域。如何关闭 onDestroy 方法中的领域?
这是我尝试过的:
MainActivity 的 onCreate:
public class MainActivity extends AppCompatActivity {
private ExpandableListView myELV;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final android.support.v7.app.ActionBar actionBar = this.getSupportActionBar();
myELV = findViewById(R.id.expandable_list_view);
myAdapter adapter = new myAdapter(getApplicationContext());
myELV.setAdapter(adapter);
适配器:
public class myAdapter extends BaseExpandableListAdapter{
private Context context;
private Realm realm;
public myAdapter(Context context){
this.context = context;
}
public void closeRealm(){
realm.deleteAll();
realm.close();
}
MainActivity 的 onDestroy:
@Override
protected void onDestroy() {
super.onDestroy();
ExpandableListAdapter adapter = myELV.getExpandableListAdapter();
adapter.closeRealm();
}
但是 closeRealm() 是无法访问的,即使它是公开的。我想知道为什么?
【问题讨论】:
-
那有什么不好的呢?
-
Android Studio 将 closeRealm() 标记为红色,表明不存在这种方法。我可以访问其他适配器方法,但这不是。
-
ExpandableListAdapter不是myAdapter类型。顺便说一句,您确定要删除所有数据吗? :o -
是的!就是这样!有效。是的,我现在将在测试时删除领域。谢谢!
标签: java android android-studio realm