Reputation: 31
The following code shows error of Cannot resolve symbol "ÖnClickListener", expecting ";" and Method onClick(android.view.view) never used. Classes which are imported. Below is the my code that will helpful to find the exception.
import android.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import android.view.View.OnClickListener;
import .Variables;
public class MainActivity extends ActionBarActivity implements onClickListener (Says Cannnot resolve symbol OnClickListener) {
//Initialize variables
Variables
var;
// Main Program starts here-------------------------------------------------
@
Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Initiate spinners and adapters here
var.spin_hv = (Spinner) findViewById(R.id.spn_hv);
var.adapt = ArrayAdapter.createFromResource(this, R.array.str_hv, android.R.layout.simple_spinner_item);
var.adapt.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
var.spin_hv.setAdapter(var.adapt);
// Method called after Spinner is selected from the menu
var.spin_hv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {@
Override
public void onItemSelected(AdapterView <? > parent, View view, int position, long id) {
if (var.dbug) {
Toast.makeText(getBaseContext(), parent.getItemAtPosition(position) + " selected", Toast.LENGTH_LONG).show();
}
//Transfer the selection into a variable to be used in calculation
var.hv_string = parent.getItemAtPosition(position).toString();
//Check for which type of heating value unit of measurement is selected
if (var.hv_string.equals("kCal/m3")) {
var.lhv_flag = 1;
}
if (var.hv_string.equals("btu/ft3")) {
var.lhv_flag = 2;
} else
var.lhv_flag = 3;
}
@
Override
public void onNothingSelected(AdapterView <? > parent) {
}
}_______________error ")" expected
Error here as ";" & "}" expected
public void onClick(View v) {
switch (v.getId()) {
case (R.id.but_calc):
butCalculateClick(v);
break;
}
}
} 'error class or interface expected'
}
Upvotes: 1
Views: 407
Reputation: 6855
The exception is not due to the OnClickListener
.
It is due to the setOnItemSelectedListener()
method just add )};
at the end of the method definition.
var.spin_hv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {@
Override
public void onItemSelected(AdapterView <? > parent, View view, int position, long id) {
if (var.dbug) {
Toast.makeText(getBaseContext(), parent.getItemAtPosition(position) + " selected", Toast.LENGTH_LONG).show();
}
//Transfer the selection into a variable to be used in calculation
var.hv_string = parent.getItemAtPosition(position).toString();
//Check for which type of heating value unit of measurement is selected
if (var.hv_string.equals("kCal/m3")) {
var.lhv_flag = 1;
}
if (var.hv_string.equals("btu/ft3")) {
var.lhv_flag = 2;
} else
var.lhv_flag = 3;
}
@
Override
public void onNothingSelected(AdapterView <? > parent) {
}
});
This code is correct.
Upvotes: 3
Reputation: 1344
use following code to get listener from spinner.
var.spin_hv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
you implimented onClickListener , but you should use OnClickListener, there is a silly spelling mistake..
do not forget to call view.setOnClickListener(this); in your onCreate. here view is anything like button, text, imageView on which you want to add lisenter.
Upvotes: 2