首页 > 解决方案 > 根据用户输入更改 ImageView

问题描述

我正在使用 Numberpicker,我在其中输入字符串。

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

我在 Firebase 中发送这些数据。在其他活动中,我使用 getter 从 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" />

标签: javaandroidimageviewandroid-imageview

解决方案


推荐阅读