所以我有一个java class
名为Details,其中包含一个名为loadFavourites()
的非静态方法和另一个名为Favorites的java class
,这是在我的应用中启动收藏夹活动时实现的。
我希望能够在收藏夹loadFavourites()
方法中的详细信息类中调用方法onCreate()
,但我不知道该怎么做...
据我所知,我不能创建Details类的实例来访问该方法,例如
Details details = new Details();
details.loadFavourites();
......因为这不起作用。 此外,我不希望我的类或我的方法是静态的,因为我涉及动态数据。
因此,有没有人知道我可以从另一个类调用这个非静态方法的方法?
以下是我的代码的简化版本......
详情活动:
FloatingActionButton addFav = (FloatingActionButton) findViewById(R.id.addFavBtn);
addFav.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
loadFavourites();
}});
public void loadFavourites() {
SQLiteDatabase db = dbHelper.getReadableDatabase();
String[] columns = {"favouriteId", "title", "owner", "url_m", "ownerPic", "description", "dateTaken"};
Cursor cursor = db.query("favourites", columns, null, null, null, null, "favouriteId");
Log.d("FavouritesDB", "" + cursor.getCount());
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
favID = cursor.getInt(0);
title = cursor.getString(1);
owner = cursor.getString(2);
url_m = cursor.getString(3);
ownerPic = cursor.getString(4);
description = cursor.getString(5);
date = cursor.getString(6);
// Add data to the array list for the recyclerview
ImageInfo favourite = new ImageInfo();
favourite.dateTaken = date;
favourite.description = description;
favourite.ownerPic = ownerPic;
favourite.url_m = url_m;
favourite.owner = owner;
favourite.title = title;
NetworkMgr.getInstance(this).favouritesImageList.add(favourite);
// Move to next entry
cursor.moveToNext();
}
cursor.close();
db.close();
}
在收藏夹活动中:
public class Favourites extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.favourites_layout);
*this is where I want loadFavourites()*
}
}