2015-01-19 3 views
2

Я работаю над фрагментом, но я не могу заставить imagereasource работать.Imageresource не может заставить его работать

package hej.swipeview; 

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.CheckBox; 
import android.widget.ImageView; 

public class FörstängningFragment extends Fragment { 

int checkOne = '0'; 
int checkTwo = '0'; 
int checkThree = '0'; 
ImageView bild = (ImageView) 
     getView().findViewById(R.id.forstangningimage); 


@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    return inflater.inflate(R.layout.fragment_forstangning, container, false); 
    int imageresource = getResources().getDrawable(R.drawable.forstangning); 
    bild.setImageResource(imageresource); 

} 


public void onCheckboxClicked(View view) { 
    boolean checked = ((CheckBox) view).isChecked(); 

    checkOne = '0'; 
    checkTwo = '0'; 
    checkThree = '0'; 

    switch (view.getId()) { 

     case R.id.checkboxbak: 

      if (checked) { 
       checkOne = '1'; 
       changeImage(); } 

      else { 
       checkOne = '0'; 
       changeImage(); } 
      break; 


     case R.id.checkBox2: 
      if (checked) { 
       checkTwo = '1'; 
       changeImage(); } 
      else { 
       checkTwo = '0'; 
       changeImage(); } 
      break; 

     case R.id.checkBox3: 
      if (checked) { 
       checkThree = '1'; 
       changeImage(); } 
      else { 
       checkThree = '0'; 
       changeImage(); } 
      break; 
    } 
    changeImage(); { 

     if (checkOne != '1' && checkTwo != '1' && checkThree != '1') { 

      bild.setImageResource(R.drawable.forstangning); 
     } else { 

      if (checkOne == '1') { 
       bild.setImageResource(R.drawable.splash2); 
      } else if (checkOne == '1' && checkTwo == '1') { 
       bild.setImageResource(R.drawable.dimensioner); 
      } else if (checkOne == '1' && checkTwo == '1' && checkThree == '1') { 
       bild.setImageResource(R.drawable.lastmonster); 
      } else if (checkOne == '1' && checkThree == '1') { 
       bild.setImageResource(R.drawable.ic_launcher); 
      } else if (checkTwo == '1') { 
       bild.setImageResource(R.drawable.ic_launcher); 
      } else if (checkTwo == '1' && checkThree == '1') { 
       bild.setImageResource(R.drawable.ic_launcher); 
      } else if (checkThree == '1') { 
       bild.setImageResource(R.drawable.ic_launcher); 
      } 
     } 

    } 
} 

private void changeImage() { 

} 
} 

Это где моя ошибка:

int imageresource = getResources().getDrawable(R.drawable.forstangning); 
     bild.setImageResource(imageresource); 
+0

Что ошибка? –

+0

Ошибка говорит: «Несовместимые типы. Обязательно: int. Найдено: android.graphics.drawable.Drawable» –

ответ

2

У вас есть недостижимый код, потому что эти строки после return заявления.

Вы должны ссылаться на ваш ImageView от onCreate метод как это:

@Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

      View rootView = inflater.inflate(R.layout.fragment_forstangning, container, false); 
      bild = (ImageView)rootView.findViewById(R.id.your_imageview_id); 
      bild.setImageResource(R.drawable.forstangning); 

      return rootView; 
     } 
+0

Спасибо! Но тогда строка «bild = rootView.find ...» - строка и «int imageresource ...» - строка получает ошибки. В нем говорится: Несовместимые типы. Требуется: android.widget.ImageView. Найдено: android.view.View. А в другом ряду: Несовместимые типы. Требуется: int. Найдено: android.graphics.drawable.Drawable. –

+0

Я забыл добавить бросок, сейчас проверяю – Pedram

+0

Я отредактировал ответ. 'bild = (ImageView) rootView.findViewById (R.id.your_imageview_id);' – Pedram

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