Android FirebaseData未加载获取银行屏幕碎片
链接到GITHUB回购协议Android FirebaseData未加载获取银行屏幕碎片,android,firebase,firebase-realtime-database,android-tablayout,android-recyclerview,Android,Firebase,Firebase Realtime Database,Android Tablayout,Android Recyclerview,链接到GITHUB回购协议 public class Company { private static String mCompanyName; private static String mCompanyDescription; private static String mCompanyPackage; public Company() {
public class Company {
private static String mCompanyName;
private static String mCompanyDescription;
private static String mCompanyPackage;
public Company() {
}
public Company(String CompanyName, String CompanyDescription, String CompanyPackage) {
mCompanyName = CompanyName;
mCompanyDescription = CompanyDescription;
mCompanyPackage = CompanyPackage;
}
public static String getmCompanyName() {
return mCompanyName;
}
public void setmCompanyName(String mCompanyName) {
this.mCompanyName = mCompanyName;
}
public String getmCompanyDescription() {
return mCompanyDescription;
}
public void setmCompanyDescription(String mCompanyDescription) {
this.mCompanyDescription = mCompanyDescription;
}
public static String getmCompanyPackage() {
return mCompanyPackage;
}
public void setmCompanyPackage(String mCompanyPackage) {
this.mCompanyPackage = mCompanyPackage;
}
}
在这里,我想将它连接到firebase数据库,并将数据加载到片段中
public class Company {
private static String mCompanyName;
private static String mCompanyDescription;
private static String mCompanyPackage;
public Company() {
}
public Company(String CompanyName, String CompanyDescription, String CompanyPackage) {
mCompanyName = CompanyName;
mCompanyDescription = CompanyDescription;
mCompanyPackage = CompanyPackage;
}
public static String getmCompanyName() {
return mCompanyName;
}
public void setmCompanyName(String mCompanyName) {
this.mCompanyName = mCompanyName;
}
public String getmCompanyDescription() {
return mCompanyDescription;
}
public void setmCompanyDescription(String mCompanyDescription) {
this.mCompanyDescription = mCompanyDescription;
}
public static String getmCompanyPackage() {
return mCompanyPackage;
}
public void setmCompanyPackage(String mCompanyPackage) {
this.mCompanyPackage = mCompanyPackage;
}
}
注意IM使用FIREBASEUI
public class Company {
private static String mCompanyName;
private static String mCompanyDescription;
private static String mCompanyPackage;
public Company() {
}
public Company(String CompanyName, String CompanyDescription, String CompanyPackage) {
mCompanyName = CompanyName;
mCompanyDescription = CompanyDescription;
mCompanyPackage = CompanyPackage;
}
public static String getmCompanyName() {
return mCompanyName;
}
public void setmCompanyName(String mCompanyName) {
this.mCompanyName = mCompanyName;
}
public String getmCompanyDescription() {
return mCompanyDescription;
}
public void setmCompanyDescription(String mCompanyDescription) {
this.mCompanyDescription = mCompanyDescription;
}
public static String getmCompanyPackage() {
return mCompanyPackage;
}
public void setmCompanyPackage(String mCompanyPackage) {
this.mCompanyPackage = mCompanyPackage;
}
}
定制回收适配器
public class Company {
private static String mCompanyName;
private static String mCompanyDescription;
private static String mCompanyPackage;
public Company() {
}
public Company(String CompanyName, String CompanyDescription, String CompanyPackage) {
mCompanyName = CompanyName;
mCompanyDescription = CompanyDescription;
mCompanyPackage = CompanyPackage;
}
public static String getmCompanyName() {
return mCompanyName;
}
public void setmCompanyName(String mCompanyName) {
this.mCompanyName = mCompanyName;
}
public String getmCompanyDescription() {
return mCompanyDescription;
}
public void setmCompanyDescription(String mCompanyDescription) {
this.mCompanyDescription = mCompanyDescription;
}
public static String getmCompanyPackage() {
return mCompanyPackage;
}
public void setmCompanyPackage(String mCompanyPackage) {
this.mCompanyPackage = mCompanyPackage;
}
}
我有3个片段我想在所有3个片段中加载不同的数据
例如,我有一个来自tablayout的片段
public class Company {
private static String mCompanyName;
private static String mCompanyDescription;
private static String mCompanyPackage;
public Company() {
}
public Company(String CompanyName, String CompanyDescription, String CompanyPackage) {
mCompanyName = CompanyName;
mCompanyDescription = CompanyDescription;
mCompanyPackage = CompanyPackage;
}
public static String getmCompanyName() {
return mCompanyName;
}
public void setmCompanyName(String mCompanyName) {
this.mCompanyName = mCompanyName;
}
public String getmCompanyDescription() {
return mCompanyDescription;
}
public void setmCompanyDescription(String mCompanyDescription) {
this.mCompanyDescription = mCompanyDescription;
}
public static String getmCompanyPackage() {
return mCompanyPackage;
}
public void setmCompanyPackage(String mCompanyPackage) {
this.mCompanyPackage = mCompanyPackage;
}
}
当我点击片段时,该片段为空,并得到一个空白屏幕
public class Company {
private static String mCompanyName;
private static String mCompanyDescription;
private static String mCompanyPackage;
public Company() {
}
public Company(String CompanyName, String CompanyDescription, String CompanyPackage) {
mCompanyName = CompanyName;
mCompanyDescription = CompanyDescription;
mCompanyPackage = CompanyPackage;
}
public static String getmCompanyName() {
return mCompanyName;
}
public void setmCompanyName(String mCompanyName) {
this.mCompanyName = mCompanyName;
}
public String getmCompanyDescription() {
return mCompanyDescription;
}
public void setmCompanyDescription(String mCompanyDescription) {
this.mCompanyDescription = mCompanyDescription;
}
public static String getmCompanyPackage() {
return mCompanyPackage;
}
public void setmCompanyPackage(String mCompanyPackage) {
this.mCompanyPackage = mCompanyPackage;
}
}
这里我想从firebaseDatabase加载数据
CompanyFragment.java
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
/**
* Created by USER on 4/8/2017.
*/
public class CompanyFragment extends Fragment {
public CompanyFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View rootView = inflater.inflate(R.layout.fragment_blank, container, false);
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
RecyclerView rv = (RecyclerView) rootView.findViewById(R.id.rv_recycler_view);
FirebaseRecyclerAdapter < Company, ChatHolder > mAdapter = new FirebaseRecyclerAdapter < Company, ChatHolder > (
Company.class,
android.R.layout.activity_list_item,
ChatHolder.class,
databaseReference
) {
@Override
protected void populateViewHolder(ChatHolder viewHolder, Company model, int position) {
viewHolder.setCompanyName(Company.getmCompanyName());
viewHolder.setCompanyPackage(Company.getmCompanyPackage());
}
};
rv.setAdapter(mAdapter);
rv.setHasFixedSize(true);
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
rv.setLayoutManager(llm);
return rootView;
}
}
public class Company {
private static String mCompanyName;
private static String mCompanyDescription;
private static String mCompanyPackage;
public Company() {
}
public Company(String CompanyName, String CompanyDescription, String CompanyPackage) {
mCompanyName = CompanyName;
mCompanyDescription = CompanyDescription;
mCompanyPackage = CompanyPackage;
}
public static String getmCompanyName() {
return mCompanyName;
}
public void setmCompanyName(String mCompanyName) {
this.mCompanyName = mCompanyName;
}
public String getmCompanyDescription() {
return mCompanyDescription;
}
public void setmCompanyDescription(String mCompanyDescription) {
this.mCompanyDescription = mCompanyDescription;
}
public static String getmCompanyPackage() {
return mCompanyPackage;
}
public void setmCompanyPackage(String mCompanyPackage) {
this.mCompanyPackage = mCompanyPackage;
}
}
firebaseRecyclerAdapter的ViewHolder类
public class Company {
private static String mCompanyName;
private static String mCompanyDescription;
private static String mCompanyPackage;
public Company() {
}
public Company(String CompanyName, String CompanyDescription, String CompanyPackage) {
mCompanyName = CompanyName;
mCompanyDescription = CompanyDescription;
mCompanyPackage = CompanyPackage;
}
public static String getmCompanyName() {
return mCompanyName;
}
public void setmCompanyName(String mCompanyName) {
this.mCompanyName = mCompanyName;
}
public String getmCompanyDescription() {
return mCompanyDescription;
}
public void setmCompanyDescription(String mCompanyDescription) {
this.mCompanyDescription = mCompanyDescription;
}
public static String getmCompanyPackage() {
return mCompanyPackage;
}
public void setmCompanyPackage(String mCompanyPackage) {
this.mCompanyPackage = mCompanyPackage;
}
}
public class ChatHolder extends RecyclerView.ViewHolder {
private final TextView mNameField;
private final TextView mTextField;
public ChatHolder(View itemView) {
super(itemView);
mNameField = (TextView) itemView.findViewById(R.id.tv_blah);
mTextField = (TextView) itemView.findViewById(R.id.tv_text);
}
public void setCompanyName(String CompanyName) {
mNameField.setText(CompanyName);
}
public void setCompanyPackage(String CompanyPackage) {
mTextField.setText(CompanyPackage);
}
}
尝试在设置适配器之前设置布局管理器。适配器创建视图时,适配器不知道布局管理器。这就是为什么你什么也看不到的原因这里这个片段看起来是空白的注:这里是指向GITHUBREPO的链接
public class Company {
private static String mCompanyName;
private static String mCompanyDescription;
private static String mCompanyPackage;
public Company() {
}
public Company(String CompanyName, String CompanyDescription, String CompanyPackage) {
mCompanyName = CompanyName;
mCompanyDescription = CompanyDescription;
mCompanyPackage = CompanyPackage;
}
public static String getmCompanyName() {
return mCompanyName;
}
public void setmCompanyName(String mCompanyName) {
this.mCompanyName = mCompanyName;
}
public String getmCompanyDescription() {
return mCompanyDescription;
}
public void setmCompanyDescription(String mCompanyDescription) {
this.mCompanyDescription = mCompanyDescription;
}
public static String getmCompanyPackage() {
return mCompanyPackage;
}
public void setmCompanyPackage(String mCompanyPackage) {
this.mCompanyPackage = mCompanyPackage;
}
}