Я пытаюсь открыть новое действие, нажав кнопку с изображением. Я разместил кнопку изображения и попытался создать для него метод onclick. Приложение уже вылетает на том месте, где я пытаюсь найти свою кнопку, выводит первый журнал, но это все. Это даже не доходит до метода onClick. Я новичок в Android, поэтому у меня очень мало опыта работы с ним.

public class Bestellingen extends AppCompatActivity implements AdapterView.OnItemClickListener {

    private ArrayList<String> elementen;
    private ListView lV;
    private MenuAdapter mA;


    ImageView image;
    Spinner spinner1;
    ImageButton imageButtonWinkelmand;

    public Bestellingen() {
        Log.d("tag","test");
        imageButtonWinkelmand = (ImageButton) findViewById(R.id.imageWinkelmand);  // here
        Log.d("testje","erna");
}

Мой метод onClick

   imageButtonWinkelmand.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d("in de onclick","test");
                startActivity(new Intent(Bestellingen.this, BestellingenInfo.class));
            }
        });

И я сделал это в activity_main.xml

<ImageButton

    android:layout_width="80dp"
    android:layout_height="70dp"
    android:scaleType="fitXY"
    android:id="@+id/imageWinkelmand"
    android:src="@drawable/winkelmand"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="-20dp"
    android:background="#00000000"
    android:contentDescription="winkelmandje"/>

Окончание чата

0
Lieven Luyckx 4 Янв 2016 в 15:26

3 ответа

Лучший ответ

Переопределите onCreate () и найдите представления внутри onCreate () .

ImageButton imageButtonWinkelmand;
    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            // Find your views in onCreate();
            imageButtonWinkelmand = (ImageButton) findViewById(R.id.imageWinkelmand); 

    }

Используйте как это.

1
Chirag Savsani 4 Янв 2016 в 12:28

Сначала удалите метод Bestellingen.

Затем вызовите ImageButton в разделе oncreate ()

imageButtonWinkelmand = (ImageButton) findViewById(R.id.imageWinkelmand);

Наконец-то

 @Override
    protected void onCreate(Bundle savedInstanceState)
    {

        setContentView(R.layout.Your_layout_name);
        imageButtonWinkelmand = (ImageButton) findViewById(R.id.imageWinkelmand);
1
IntelliJ Amiya 4 Янв 2016 в 12:36
ImageButton imageButton;
    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            // Find your views in onCreate();
            imageButton = (ImageButton) findViewById(R.id.imageWinkelmand); 

    }
1
Aditay Kaushal 4 Янв 2016 в 12:32