D
D
Dezzigner2018-03-15 17:30:52
Android
Dezzigner, 2018-03-15 17:30:52

Why is the image not being inserted into the ImageView?

I'm trying 4 ways to programmatically insert a picture into an ImageView, but it doesn't work.
What is my mistake or what is missing here?

Java

public class MainActivity extends AppCompatActivity {
    ImageView img1,img2,img3,img4;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        img1 = (ImageView) findViewById(R.id.img1);
        img2 = (ImageView) findViewById(R.id.img2);
        img3 = (ImageView) findViewById(R.id.img3);
        img4 = (ImageView) findViewById(R.id.img4);

        //setResource
//        if(img1 != null) img1.setImageResource(R.drawable.china); //Dropped

        //setDrawable
        img2.setImageDrawable(Drawable.createFromPath("/res/drawable/tokyo1.png"));

        //setBitmap
        img3.setImageBitmap(BitmapFactory.decodeResource(this.getResources(), R.drawable.tokyo2));

        //Picasso(local)
        Picasso.get()
                    .load(R.drawable.tokyo1)
                    .into(img4);

        //Picasso(URI)
        Picasso.get()
                    .load("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTmG5K1tMdQ4W3G1WlZSfSWfL6jo8E9rS4NTHflXoT1CsF2Na_i")
                    .into(img1);
    }
}

XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.kiril.imgtest4.MainActivity">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/img1"
            android:layout_width="1dp"
            android:layout_height="150dp"
            android:layout_weight="1" />
        <ImageView
            android:id="@+id/img2"
            android:layout_width="1dp"
            android:layout_height="150dp"
            android:layout_weight="1"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/img3"
            android:layout_width="1dp"
            android:layout_height="150dp"
            android:layout_weight="1"/>
        <ImageView
            android:id="@+id/img4"
            android:layout_width="1dp"
            android:layout_height="150dp"
            android:layout_weight="1"/>
    </LinearLayout>
</LinearLayout>

</android.support.constraint.ConstraintLayout>

Answer the question

In order to leave comments, you need to log in

2 answer(s)
D
Dezzigner, 2018-03-16
@Dezzigner

I tried different methods and perversions - nothing happened.
In general, starting from API 23, everything starts working fine, both Bitmap and Picasso with Glide.

D
Denis Zagaevsky, 2018-03-15
@zagayevskiy

how scary life has become since ConstraintLayout became the default root.
Make layout_width = 0dp

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question