2

I'm working in a fragment but I can't make the imageresource to work.

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() {

}
}

This is where my error is:

int imageresource = getResources().getDrawable(R.drawable.forstangning);
        bild.setImageResource(imageresource);
Vadim Kotov
  • 8,084
  • 8
  • 48
  • 62
elin.a
  • 33
  • 1
  • 5
  • The error says: "Incompatible types. Required: int. Found: android.graphics.drawable.Drawable" – elin.a Jan 19 '15 at 20:51

1 Answers1

2

You have unreachable code, because those lines are after the return statement.

You should reference your ImageView from onCreate method like this:

@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;
        }
M. Reza Nasirloo
  • 16,434
  • 2
  • 29
  • 41
  • Thanks! But then the "bild = rootView.find..."-row and the "int imageresource..."-row get errors. It says: Incompatible types. Required: android.widget.ImageView. Found: android.view.View. And in the other row: Incompatible types. Required: int. Found: android.graphics.drawable.Drawable. – elin.a Jan 19 '15 at 20:49
  • I forgot to add cast, check it out now – M. Reza Nasirloo Jan 19 '15 at 20:51
  • I have edited the answer. `bild = (ImageView)rootView.findViewById(R.id.your_imageview_id);` – M. Reza Nasirloo Jan 19 '15 at 20:54
  • It´s still an error on the int-row. Same error as before. – elin.a Jan 19 '15 at 20:55