xiimoss
xiimoss

Reputation: 805

Cannot resolve symbol 'onClickListener'

When trying to open a new activity with a button press im getting the error "Cannot resolve symbol 'onclickListener'" and Cannot resolve constructor intent.

My code is:

package uk.co.ryanmoss.computingrevision;

    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Button;
    import android.view.View.OnClickListener;


    public class MainActivity extends Activity{




        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            Button ASButton = (Button) findViewById(R.id.asButton);
            ASButton.setOnClickListener(new View.onClickListener() {
                public void onClick(View v) {
                    Intent intent = new Intent(this, ASLevelActivity.class);
                    startActivity(intent);
                }
            });



        }



        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.menu_main, menu);
            return true;
        }

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();

            //noinspection SimplifiableIfStatement
            if (id == R.id.action_settings) {
                return true;
            }

            return super.onOptionsItemSelected(item);
        }


    }

Upvotes: 1

Views: 39060

Answers (3)

Jorgesys
Jorgesys

Reputation: 126563

Must be :

ASButton.setOnClickListener(new View.OnClickListener() {

the method OnClickListener() starts with "O" capital

instead of :

ASButton.setOnClickListener(new onClickListener() {

and use for the Android Intent

Intent intent = new Intent(MainActivity.this, ASLevelActivity.class);

This code will fix your problems:

 Button ASButton = (Button) findViewById(R.id.asButton);
        ASButton.setOnClickListener(new View.onClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, ASLevelActivity.class);
                startActivity(intent);
            }
        });

More Info:

View.OnClickListener() Method

Upvotes: 7

Martin Cazares
Martin Cazares

Reputation: 13705

Two important things, first is not onClickListener but "OnClickListener" and the most important, within the onClick method, instead of using

Intent intent = new Intent(this, ASLevelActivity.class);

You need to use

Intent intent = new Intent(MainActivity.this, ASLevelActivity.class);

That way you are passing the right context, and not the annonymnous class reference, notice the "MainActivity.this"

Regards

Upvotes: 8

Azae B. Garcia
Azae B. Garcia

Reputation: 476

Try moving:

 Button ASButton;
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ASButton = (Button) findViewById(R.id.asButton);
        ASButton.setOnClickListener(new View.onClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(this, ASLevelActivity.class);
                startActivity(intent);
            }
        });



    }

outside of the onCreate method

Upvotes: 0

Related Questions