Изменить ImageView в соответствии с пользовательским вводом - PullRequest
0 голосов
/ 28 сентября 2018

Я использую Numberpicker, в котором я беру ввод String.

    public final String Branch[] = {"Branch","Comp", "Civil", "Mech", "Chem", "EnTC"};

Я отправляю эти данные в Firebase.В другой деятельности я беру данные из firebase, используя геттер.Я хочу изменить свой ImageView в соответствии с пользовательским вводом.Если пользователь выберет Comp в качестве входных данных, то будет отображено tecomp . Похоже, для mech, temch должен отображаться.Но в случае переключения моя деятельность отключается.Мой код

        databaseReference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            UserProfile userProfile = dataSnapshot.getValue(UserProfile.class);
            year =  userProfile.getYear();
            branch = userProfile.getBranch();
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            Toast.makeText(TimetableActivity.this,databaseError.getCode(),Toast.LENGTH_SHORT).show();
        }
    });

    switch (branch){
        case "Comp":
            timetable.setImageResource(R.drawable.ttcomp);
            break;
        case "Mech":
            timetable.setImageResource(R.drawable.ttmech);
            break;
        case "Civil":
            timetable.setImageResource(R.drawable.ttcivil);
            break;
        case "EnTC":
            timetable.setImageResource(R.drawable.ttentc);
            break;
    }

XML-файл

<ImageView
    android:id="@+id/iv"
    android:layout_width="339dp"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:src="@drawable/img1"
    android:contentDescription="@string/Timetable" />
...