Member 12313020 Ответов: 0

При выборе элемента spinner он должен показывать фотографии для каждого элемента spinner


Не работает счетчик, но работая в методе onCreate

У меня есть два массива, один из которых пуст и еще один, который имеет три изображения в нем, когда я назначаю его пустому массиву в spinner on selected, он показывает ошибку, но если я напишу в методе oncreate, он покажет 3 изображения.



public Integer[] arr = {R.drawable.p231, R.drawable.p231, R.drawable.p231};
        public Integer[] arr1 = {};
        String item;
        Integer[] imageIDs =  {};

    Bitmap bp;
    Gallery gallery;
    int temp;
    RelativeLayout can;
    ImageView capturedImage;
    StickerImageView iv_sticker;
    private Toolbar toolbar;
    Spinner spinner;
    int flag=0;
    CheckBox chk;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_camera);
//        chk = (CheckBox) findViewById(R.id.chk);
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        capturedImage = (ImageView) findViewById(R.id.capturedImage);
        spinner = (Spinner) findViewById(R.id.Cam_spinner);


        if (toolbar != null) {
            setSupportActionBar(toolbar);
            getSupportActionBar().setDisplayShowTitleEnabled(false);

        }

        arr1 = arr;
        imageIDs = arr1;



        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
                R.array.Gates, android.R.layout.simple_spinner_item);

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        spinner.setAdapter(adapter);


        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {


                item = spinner.getSelectedItem().toString();

            if(item.equals("Door Gate"))
            {
                          //    arr1 = arr;
 not working*            //  imageIDs = arr1;
     Toast.makeText(getApplicationContext(),"door"+temp,Toast.LENGTH_LONG).show();
            }
              //  Toast.makeText(getApplicationContext(),""+item,Toast.LENGTH_LONG).show();
                 //item = position;


                }



            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }

        });

        Intent intent = getIntent();
        bp = (Bitmap) intent.getParcelableExtra("data");
        capturedImage.setImageBitmap(bp);


        gallery = (Gallery) findViewById(R.id.gallery1);
        gallery.setAdapter(new ImageAdapter(this));
        gallery.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                Toast.makeText(getBaseContext(), "pic" + (position + 1) + " selected",
                        Toast.LENGTH_SHORT).show();


                can = (RelativeLayout) findViewById(R.id.canvasView);
                iv_sticker = new StickerImageView(CameraActivity.this);

                iv_sticker.setImageResource(imageIDs[position]);
                can.addView(iv_sticker);//Working sticker code

                  if (R.id.can == 0) {
                    flag = 0;
                } else {
                    flag++;
                }
              }
        });
    }


Что я уже пробовал:

Я пытался назначить массив изображений пустому массиву и многим другим вещам.

Richard MacCutchan

В чем заключается ошибка и где она возникает?

priyanshbhaliya

можете ли вы дать logcat информацию об ошибке???

0 Ответов