• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

tried this but I get the first image --- when try to get the next image App in emulator closes with

Lsepolis123

Lurker
Dec 4, 2019
3
0
activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/rootContainer"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:eek:rientation="vertical">

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:text="Change Image"/>

</LinearLayout>

MainActivity .java

...
...
public class MainActivity extends AppCompatActivity {
...
button.setOnClickListener(new View.OnClickListener() {
@override
public void onClick(View view) {
FetchJsonData process = new FetchJsonData(linearLayout, imageView);
process.execute();
}
});

====
FetchJsonData .java
....
public class FetchJsonData extends AsyncTask<Void, Void, Void> {

TextView data;
LinearLayout sourceText;
String dataParsed = "";
String singleParsed ="";
public ImageView imageView;
public Integer imageId = 0;
URL[] imgUrl = new URL[10];

public FetchJsonData(LinearLayout linearLayout, ImageView imageView) {
// loop


loop
{

imgUrl[j] = new URL(attractionPhotosImagesLarge.getString("url"));


}


imageId = imageId + 1;

URL req = imgUrl[imageId];

Bitmap mIcon_val = BitmapFactory.decodeStream(req.openConnection().getInputStream());

this.imageView.setImageBitmap(mIcon_val); // line 119

setting an imageView programmatically... --- in my code I want every time calling the class FetchJsonData to get the next image on an array... I tried this but I get the first image --- when try to get the next image App in emulator closes with error... what to do to delete/remove imageView to appear next image in imageView?????

2020-06-07 07:18:03.866 23338-23497/com.leonidassavvides.tripadvisorapi E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
Process: com.leonidassavvides.tripadvisorapi, PID: 23338
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:318)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6855)
at android.view.ViewRootImpl.invalidateChildInParent(ViewRootImpl.java:1075)
at android.view.ViewGroup.invalidateChild(ViewGroup.java:5242)
at android.view.View.invalidateInternal(View.java:13574)
at android.view.View.invalidate(View.java:13538)
at android.view.View.invalidate(View.java:13522)
at android.widget.ImageView.setImageDrawable(ImageView.java:514)
at android.widget.ImageView.setImageBitmap(ImageView.java:635)
at com.leonidassavvides.tripadvisorapi.FetchJsonData.doInBackground(FetchJsonData.java:119)
at com.leonidassavvides.tripadvisorapi.FetchJsonData.doInBackground(FetchJsonData.java:27)

at android.os.AsyncTask$2.call(AsyncTask.java:304)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
 

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones