Как получить данные из Firebase о другой деятельности? - PullRequest
0 голосов
/ 29 августа 2018

firebase db

Я создаю приложение, в котором я сохраняю данные на одной странице, которая является RequestOrder в базе данных Firebase Realtime, и я хочу получить ее на другой странице, которая PendingOrder.

Я использую табуляции с одной вкладкой с фрагментом, показывающей PendingOrder, а с той, которая показывает выполненный заказ. После долгих поисков я пришел к выводу, что все используют ListView для извлечения данных из Firebase.

Я пытаюсь сделать то же самое, но застрял в ошибке. Пожалуйста, помогите мне. Ошибка «java.lang.NullPointerException: попытка вызвать виртуальный метод» java.lang.String com.example.hp.another.ServiceConsumer.getPkgDetail () 'для ссылки на пустой объект "

public class PendingOrder extends Fragment {
    DatabaseReference databaseReference;
    FirebaseDatabase firebaseDatabase;
    FirebaseAuth.AuthStateListener mAuthListener;
    ListView listView1;
    String userId;
    List<ServiceConsumer> consumerList;
    private static final String TAG = "PendingOrder";

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View RootView= inflater.inflate(R.layout.pendingorders, container, false);
        listView1 = (ListView) RootView.findViewById(R.id.listview);
        return RootView;

    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
        firebaseDatabase = FirebaseDatabase.getInstance();
        databaseReference = FirebaseDatabase.getInstance().getReference();
        FirebaseUser user = firebaseAuth.getCurrentUser();
        userId = user.getUid();
    }

    @Override
    public void onStart() {
        super.onStart();
        databaseReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                showData(dataSnapshot);

            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });
    }

    private void showData(DataSnapshot dataSnapshot) {
        for (DataSnapshot ds : dataSnapshot.getChildren()) {
            ServiceConsumer uInfo = new ServiceConsumer();
            uInfo.setPkgDetail(ds.child(userId).getValue(ServiceConsumer.class).getPkgDetail());
            uInfo.setPkgWeight(ds.child(userId).getValue(ServiceConsumer.class).getPkgWeight());
            uInfo.setPersonContct(ds.child(userId).getValue(ServiceConsumer.class).getPersonContct());
            uInfo.setPickupAddrs(ds.child(userId).getValue(ServiceConsumer.class).getPickupAddrs());
            uInfo.setConsumerName(ds.child(userId).getValue(ServiceConsumer.class).getConsumerName());
            uInfo.setConsumerPhone(ds.child(userId).getValue(ServiceConsumer.class).getConsumerPhone());
            uInfo.setConsumerAddres(ds.child(userId).getValue(ServiceConsumer.class).getConsumerAddres());
            Log.d(TAG, "showData:pkgdetail:" + uInfo.getPkgDetail());
            Log.d(TAG, "showData:pkgweight:" + uInfo.getPkgWeight());
            Log.d(TAG, "showData:persncntct:"+uInfo.getPersonContct());
            Log.d(TAG, "showData:pickup:"+uInfo.getPickupAddrs());
            Log.d(TAG, "showData:cnname:"+uInfo.getConsumerName());
            Log.d(TAG, "showData:cnphone:"+uInfo.getConsumerPhone());
            Log.d(TAG, "showData:cnadd:"+uInfo.getConsumerAddres());

            ArrayList<String>array= new ArrayList<>();
            array.add(uInfo.getPkgDetail());
            array.add(uInfo.getPkgWeight());
            array.add(uInfo.getPersonContct());
            array.add(uInfo.getPickupAddrs());
            array.add(uInfo.getConsumerName());
            array.add(uInfo.getConsumerAddres());
            array.add(uInfo.getConsumerPhone());
            ArrayAdapter<String> adapter= new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,array);
            listView1.setAdapter(adapter);


        }
    }

Класс обслуживания потребителей

public class ServiceConsumer {
    private  String Id;
    private String PkgDetail;
    private String PkgWeight;
    private String PersonContct;
    private String PickupAddrs;
    private  String ConsumerName;
    private String ConsumerPhone;
    private String ConsumerAddres;

    public ServiceConsumer() {
    }

    public ServiceConsumer(String id, String pkgdetail, String pkgweight, String personContct, String add, String consumerName, String consumerPhone, String consumerAdd) {
              Id= id;
        PkgDetail = pkgdetail;
        PkgWeight = pkgweight;
        PersonContct = personContct;
        PickupAddrs = add;
        ConsumerName = consumerName;
        ConsumerPhone = consumerPhone;
        ConsumerAddres = consumerAdd;

    }

    public String getId() {
        return Id;
    }

    public String getPkgDetail() {
        return PkgDetail;
    }

    public String getPkgWeight() {
        return PkgWeight;
    }

    public String getPersonContct() {
        return PersonContct;
    }

    public String getPickupAddrs() {
        return PickupAddrs;
    }

    public String getConsumerName() {
        return ConsumerName;
    }

    public String getConsumerPhone() {
        return ConsumerPhone;
    }

    public String getConsumerAddres() {
        return ConsumerAddres;
    }

    public void setId(String id) {
        Id = id;
    }

    public void setPkgDetail(String pkgDetail) {
        PkgDetail = pkgDetail;
    }

    public void setPkgWeight(String pkgWeight) {
        PkgWeight = pkgWeight;
    }

    public void setPersonContct(String personContct) {
        PersonContct = personContct;
    }

    public void setPickupAddrs(String pickupAddrs) {
        PickupAddrs = pickupAddrs;
    }

    public void setConsumerName(String consumerName) {
        ConsumerName = consumerName;
    }

    public void setConsumerPhone(String consumerPhone) {
        ConsumerPhone = consumerPhone;
    }

    public void setConsumerAddres(String consumerAddres) {
        ConsumerAddres = consumerAddres;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...