2014-09-14 3 views
0

У меня есть этот код в фрагменте java, и, как вы можете видеть, у меня есть импортированное текстовое изображение в каждом из моих элементов. Я не пытаюсь импортировать изображение для каждого из своих предметов, например:Импорт изображения в ImageView

Проблема устранена. Смотри ниже.

img1 = (ImageView) rootView.findViewById(R.id.img1); 
    img1.setBackgroundResource(R.drawable.pickmeup); 

Вот новый код:

package info.androidhive.tabsswipe; 

import com.sothree.slidinguppanel.SlidingUpPanelLayout; 

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.util.Log; 
import android.view.KeyEvent; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.View.OnKeyListener; 
import android.view.ViewGroup; 
import android.widget.TextView; 
import android.widget.ImageView; 
import dk.appografen.joeandthejuice.R; 

public class MenuDetailsFragment extends Fragment { 

    TextView textView; 
    View rootView; 
    ImageView img1; 
    private SlidingUpPanelLayout mLayout; 

    //Juice 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle   savedInstanceState)    { 
     String name = getArguments().getString("name"); 
     if (name.equals("PICK ME UP")) { 
      rootView = inflater.inflate(R.layout.menu_details_slide, null, false); 
      mLayout = (SlidingUpPanelLayout) rootView.findViewById(R.id.sliding_layout); 
      textView = (TextView) rootView.findViewById(R.id.textView1); 
      textView.setText("" + name + ""); 
      textView = (TextView) rootView.findViewById(R.id.textView2); 
      textView.setText("Pris"); 
      textView = (TextView) rootView.findViewById(R.id.textView3); 
      textView.setText("40/50 kr"); 

      textView = (TextView) rootView.findViewById(R.id.textView5); 
      textView.setText("Ingredienser"); 
      textView = (TextView) rootView.findViewById(R.id.textView6); 
      textView.setText("(Jordbær, banan, æble)"); 
      img1 = (ImageView) rootView.findViewById(R.id.img1); 
      img1.setBackgroundResource(R.drawable.pickmeup); 


     } else if (name.equals("ENERGIZER")) { 
      rootView = inflater 
      .inflate(R.layout.menu_details_slide, null, false); 
      mLayout = (SlidingUpPanelLayout) rootView.findViewById(R.id.sliding_layout); 
      textView = (TextView) rootView.findViewById(R.id.textView1); 
      textView.setText("" + name + ""); 
      textView = (TextView) rootView.findViewById(R.id.textView2); 
      textView.setText("Pris"); 
      textView = (TextView) rootView.findViewById(R.id.textView3); 
      textView.setText("40/50 kr"); 

      textView = (TextView) rootView.findViewById(R.id.textView5); 
      textView.setText("Ingredienser"); 
      textView = (TextView) rootView.findViewById(R.id.textView6); 
      textView.setText("(Rød grape, æble, ingefær) "); 
     }else { 
      rootView = inflater 
      .inflate(R.layout.menu_details_slide, null, false); 
      textView = (TextView) rootView.findViewById(R.id.textView1); 
      textView.setText("" + name + ""); 
      textView = (TextView) rootView.findViewById(R.id.textView2); 
      textView.setText("Adresse"); 
      textView = (TextView) rootView.findViewById(R.id.textView3); 
      textView.setText("Test"); 
      textView = (TextView) rootView.findViewById(R.id.textView4); 
      textView.setText("9000 Aalborg"); 
      textView = (TextView) rootView.findViewById(R.id.textView5); 
      textView.setText("Åbningstider"); 
      textView = (TextView) rootView.findViewById(R.id.textView6); 
      textView.setText("Mandag - Fredag:"); 
      textView = (TextView) rootView.findViewById(R.id.textView7); 
      textView.setText("07.30-20.00"); 
      textView = (TextView) rootView.findViewById(R.id.textView8); 
      textView.setText("Lørdag:"); 
      textView = (TextView) rootView.findViewById(R.id.textView9); 
      textView.setText("07.30-20.00"); 
      textView = (TextView) rootView.findViewById(R.id.textView10); 
      textView.setText("Søndag::"); 
      textView = (TextView) rootView.findViewById(R.id.textView11); 
      textView.setText("07.30-20.00"); 
    img1 = (ImageView) rootView.findViewById(R.id.img1); 
    img1.setBackgroundResource(R.drawable.pickmeup); 
     } 
     return rootView; 

    } 
    @Override 
    public void onViewCreated(View view, Bundle savedInstanceState) { 
     getView().setFocusableInTouchMode(true); 
     getView().requestFocus(); 
     getView().setOnKeyListener(new OnKeyListener() { 

      @Override 
      public boolean onKey(View v, int keyCode, KeyEvent event) { 
       if (keyCode == KeyEvent.KEYCODE_BACK) { 
        Log.e("inside","keyevent"); 
        if (mLayout != null && mLayout.isPanelExpanded() || mLayout.isPanelAnchored()) { 
         mLayout.collapsePanel(); 
         Log.e("inside","expaned"); 
         return true; 
        } 

       } 
       Log.e("inside","not expaned"); 
       return false; 
      } 
     }); 
     super.onViewCreated(view, savedInstanceState); 
    } 
} 

ответ

0

Может быть, вы должны попробовать что-то вроде этого:

imageView.setImageResource(R.drawable.randomimage); 
+0

Я попробовал. Не работает. – Chrfugl

+0

Это было близко. Но правильный ответ: img1 = (ImageView) rootView.findViewById (R.id.img1); img1.setBackgroundResource (R.drawable.pickmeup); – Chrfugl

0

Дайте это попробовать

mImageView.setImageDrawable(getResources().getDrawable(R.drawable.randomimage)); 
+0

Пожалуйста, объясните, что не так с OP, и почему это решает проблему *, отредактировав свой ответ. * –

+0

Это следует из документации. setImageResource (/ ** Идентификатор ресурса ** /) делает растровое декодирование в потоке пользовательского интерфейса и может вызывать задержек hiccups.Hence, setImageDrawable() становится лучшим вариантом, так как ваш фрагмент еще не прикреплен к вашей активности. Помогите? – Wan

+0

Получил это от этого: Невозможно сделать статическую ссылку на нестатический метод setImageDrawable (Drawable) из типа ImageView – Chrfugl

Смежные вопросы