我有以下代码(标准):
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new UsersListingLayout(this));
userStatusQuery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
... load data to display in UsersListingLayout
} else {
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
这是在加载数据之前调用视图。我如何确保该功能:
setContentView(new UsersListingLayout(this));
在查找发生后被调用?
所以要为我的问题/问题添加更多细节。我有以下活动。
public class UserListingActivity extends Activity {
List<Users> userList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new UsersListingLayout(this, userList)); <-- This is calling the Layout, but as you can see its before the Firebase Lookup which is below this...
userStatusQuery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
... load data to display in UsersListingLayout
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
UsersListingLayout
详细说明了将显示用户详细信息的表格布局。
public class UsersListingLayout extends RelativeLayout {
}
我的问题是我知道我需要在检索列表并将其添加到 userList 后调用 setContentView(new UsersListingLayout(this, userList));
函数,但是如果我将该函数移动到 onDataChange 函数中,则会收到一条错误消息:
Required type: Context
Provided: ValueEventListener
我知道我是 Android 新手,但这可能是因为我将函数移到 onDataChange 函数的 ValueEventListener 中。
我不知道如何解决这个问题?