Reputation: 805
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
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:
Upvotes: 7
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
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