2016-08-06 25 views
0

Ich versuche, die Picasso-Bibliothek zu verwenden, aber es funktioniert nicht. Ich denke, mein Fehler ist mit der Picasso.with(Context) ich könnte falsche Parameter verwenden. Ich habe den Code für MainActivity und ListClass eingefügt. Das Bild ist nicht geladen und erscheint in der App nicht nur als Leerraum.Picasso Fehler beim Laden des Bildes?

UPDATE !! die "die ich fehlte, hat nichts mit dem Fehler zu tun, nur falsche Kopie es gibt mir Fehler auf dem this

MainActivity;..

import android.os.Bundle; 
import android.os.Handler; 
import android.os.Message; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.view.View; 
import android.support.design.widget.NavigationView; 
import android.support.v4.view.GravityCompat; 
import android.support.v4.widget.DrawerLayout; 
import android.support.v7.app.ActionBarDrawerToggle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.TextView; 
import android.support.v4.app.FragmentTransaction; 
import android.support.v4.app.FragmentManager; 
import android.widget.FrameLayout; 
import android.widget.Button; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.ListView; 
import android.widget.Toast; 
import android.app.Activity; 
import android.graphics.BitmapFactory; 
import android.graphics.drawable.Drawable; 
import com.squareup.picasso.Picasso; 







public class MainActivity extends AppCompatActivity 
     implements NavigationView.OnNavigationItemSelectedListener { 

    ListView list; 
    imageHandler imagess = new imageHandler(); 

    String[] web = {"Trial "}; 
    Integer[] imageId = { R.drawable.ic_menu_camera }; 
    //Drawable[] imageId = { imagess.LoadImageFromWebOperations("http://egyptianstreets.com/wp-content/uploads/2016/08/satelliteegypt-400x240.jpg")}; 

    Handler handler; 
    Button button; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
       this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
     drawer.setDrawerListener(toggle); 
     toggle.syncState(); 
     NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
     navigationView.setNavigationItemSelectedListener(this); 
     listClass adapter = new 
       listClass(MainActivity.this, web, imageId); 
     list=(ListView)findViewById(R.id.list); 
     list.setAdapter(adapter); 

     list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
            int position, long id) { 
       Toast.makeText(MainActivity.this, "You Clicked at " +web[+ position], Toast.LENGTH_SHORT).show(); 
      } 
     }); 

    } 

listclass, dass ich die Picasso-Bibliothek verwendet, um das Bild zu laden von die URL;

import android.app.Activity; 
import android.graphics.drawable.Drawable; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.ImageView; 
import android.widget.TextView; 
import android.webkit.WebView; 
import com.squareup.picasso.Picasso; 

public class listClass extends ArrayAdapter<String>{ 



    //Next three lines introduces Variables to use in the class 
    private final Activity context; 
    private final String[] web; 
    private final Integer[] imageId; 

    //Constructor to get Web, Image and context to set adapter 
    public listClass(Activity context, String[] web, Integer [] imageId) { 

      super(context, R.layout.list, web); 
      this.context = context; 
      this.web = web; 
      this.imageId = imageId; 

    } 

    //Public method to ... 
    @Override 
    public View getView(int position, View view, ViewGroup parent) { 
     LayoutInflater inflater = context.getLayoutInflater(); 
     View rowView= inflater.inflate(R.layout.list, null, true); 

     TextView txtTitle = (TextView) rowView.findViewById(R.id.txt); 
     ImageView imageView = (ImageView) rowView.findViewById(R.id.img); 
     txtTitle.setText(web[position]); 
     Picasso.with(this).load("http://egyptianstreets.com/wp-content/uploads/2016/08/egyptischemoefti.jpg").resize(60,60).into(imageView").resize(50,50).centerCrop(). 
       into(imageView); 
     return rowView; 
    } 
} 

Antwort

1

Hier Fehler Sie Bibliothek in falschem Weg verwenden.

" ist hier nicht gültig.

Auch Sie haben .into(imageView) und resize(..) zweimal verwendet.

Versuchen Sie es.

Picasso.with(context).load("http://egyptianstreets.com/wp-content/uploads/2016/08/egyptischemoefti.jpg").resize(60,60).centerCrop(). 
      into(imageView); 
+0

Die Endung "fehlt in Ihrer Antwort: | –

+0

@NarayanAcharya danke –

+0

es war das Problem mit dem Kontext. Hatte falsche Parameter jetzt funktioniert. Vielen Dank. –

0

Sieht aus wie Sie das "falsch" bekommen haben. Ihre Bild-URL wurde anscheinend falsch kopiert. Sachen wie 'resize (60,60) .into (imageView)' sind/sollten nicht Teil der URL für das Bild sein. Sie könnten zufällig reingekommen sein.

verwenden

Picasso.with(this).load("http://egyptianstreets.com/wp-content/uploads/2016/08/egyptischemoefti.jpg").resize(60,60).centerCrop().into(imageView); 

Edit: Vielleicht ist der Kontext, den Sie zu Picasso geben nicht richtig ist. Sie müssen ihm den Aktivitätskontext geben, den Sie im Konstruktor initialisieren.

Vielleicht:

Picasso.with(this.context).load("http://egyptianstreets.com/wp-content/uploads/2016/08/egyptischemoefti.jpg").resize(60,60).centerCrop().into(imageView); 
+0

Gleicher Fehler. Ich habe es einfach falsch kopiert, aber habe es richtig im Code @NarayanAcharya –

+0

Ich habe gerade das Bild an dieser URL gesehen. Klingt plausibel. Welchen Fehler bekommst du? Können Sie das Logcat für den Fehler freigeben? –