Java 无法在Android studio中为微调器设置onItemSelectedListener
这是我的主要活动Java 无法在Android studio中为微调器设置onItemSelectedListener,java,android,android-layout,spinner,Java,Android,Android Layout,Spinner,这是我的主要活动 public class MainActivity extends AppCompatActivity implements MaterialSearchBar.OnSearchActionListener { Spinner spinner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState
public class MainActivity extends AppCompatActivity implements MaterialSearchBar.OnSearchActionListener {
Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = (Spinner) findViewById(R.id.sort_spinner);
ArrayAdapter<CharSequence> spinnerAadapter = ArrayAdapter.createFromResource(this,
R.array.sort_array, android.R.layout.simple_spinner_item);
spinnerAadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerAadapter);
}
@Override
public void onSearchStateChanged(boolean enabled) {
}
@Override
public void onSearchConfirmed(CharSequence text) {
}
@Override
public void onButtonClicked(int buttonCode) {
}
}
但安卓工作室的每一个方面都给了我编译时错误。
为微调器选择哪种可能且正确的方法以及如何选择
错误:
代码:
公共类MainActivity扩展AppCompativeActivity实现MaterialSearchBar.OnSearchActionListener、AdapterView.OnItemSelectedListener{
纺纱机;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
微调器=(微调器)findViewById(R.id.sort\u微调器);
ArrayAdapter SpinnerAdapter=ArrayAdapter.createFromResource(此,
R.array.sort\u数组,android.R.layout.simple\u微调器\u项);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
spinner.setAdapter(spinneraladapter);
spinner.setOnItemClickListener(this);
}
@凌驾
SearchStateChanged上的公共void(已启用布尔值){
}
@凌驾
搜索已确认的公共无效(字符序列文本){
}
@凌驾
公共无效onButtonClicked(int buttonCode){
}
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
}
@凌驾
未选择公共无效(AdapterView父级){
}
}
使用匿名类:
public class MainActivity extends AppCompatActivity implements MaterialSearchBar.OnSearchActionListener {
Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = (Spinner) findViewById(R.id.sort_spinner);
ArrayAdapter<CharSequence> spinnerAadapter = ArrayAdapter.createFromResource(this,
R.array.sort_array, android.R.layout.simple_spinner_item);
spinnerAadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerAadapter);
spinner.setOnItemClickListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
@Override
public void onSearchStateChanged(boolean enabled) {
}
@Override
public void onSearchConfirmed(CharSequence text) {
}
@Override
public void onButtonClicked(int buttonCode) {
}
}
公共类MainActivity扩展AppCompative实现MaterialSearchBar.OnSearchActionListener{
纺纱机;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
微调器=(微调器)findViewById(R.id.sort\u微调器);
ArrayAdapter SpinnerAdapter=ArrayAdapter.createFromResource(此,
R.array.sort\u数组,android.R.layout.simple\u微调器\u项);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
spinner.setAdapter(spinneraladapter);
spinner.setOnItemClickListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
}
@凌驾
SearchStateChanged上的公共void(已启用布尔值){
}
@凌驾
搜索已确认的公共无效(字符序列文本){
}
@凌驾
公共无效onButtonClicked(int buttonCode){
}
}
使用内部类:
public class MainActivity extends AppCompatActivity implements MaterialSearchBar.OnSearchActionListener{
Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = (Spinner) findViewById(R.id.sort_spinner);
ArrayAdapter<CharSequence> spinnerAadapter = ArrayAdapter.createFromResource(this,
R.array.sort_array, android.R.layout.simple_spinner_item);
spinnerAadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerAadapter);
spinner.setOnItemClickListener(new spinner_class());
}
@Override
public void onSearchStateChanged(boolean enabled) {
}
@Override
public void onSearchConfirmed(CharSequence text) {
}
@Override
public void onButtonClicked(int buttonCode) {
}
public class spinner_class implements AdapterView.OnItemSelectedListener{
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
}
公共类MainActivity扩展AppCompative实现MaterialSearchBar.OnSearchActionListener{
纺纱机;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
微调器=(微调器)findViewById(R.id.sort\u微调器);
ArrayAdapter SpinnerAdapter=ArrayAdapter.createFromResource(此,
R.array.sort\u数组,android.R.layout.simple\u微调器\u项);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
spinner.setAdapter(spinneraladapter);
setOnItemClickListener(新的微调器_类());
}
@凌驾
SearchStateChanged上的公共void(已启用布尔值){
}
@凌驾
搜索已确认的公共无效(字符序列文本){
}
@凌驾
公共无效onButtonClicked(int buttonCode){
}
公共类微调器_类实现AdapterView.OnItemSelectedListener{
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
}
@凌驾
未选择公共无效(AdapterView父级){
}
}
}
这样就不会有任何错误,但是否正确:
public class MainActivity extends AppCompatActivity implements MaterialSearchBar.OnSearchActionListener{
Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = (Spinner) findViewById(R.id.sort_spinner);
ArrayAdapter<CharSequence> spinnerAadapter = ArrayAdapter.createFromResource(this,
R.array.sort_array, android.R.layout.simple_spinner_item);
spinnerAadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerAadapter);
spinner.setOnItemClickListener((AdapterView.OnItemClickListener) new spinner_class());
}
@Override
public void onSearchStateChanged(boolean enabled) {
}
@Override
public void onSearchConfirmed(CharSequence text) {
}
@Override
public void onButtonClicked(int buttonCode) {
}
public class spinner_class implements AdapterView.OnItemSelectedListener{
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
}
公共类MainActivity扩展AppCompative实现MaterialSearchBar.OnSearchActionListener{
纺纱机;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
微调器=(微调器)findViewById(R.id.sort\u微调器);
ArrayAdapter SpinnerAdapter=ArrayAdapter.createFromResource(此,
R.array.sort\u数组,android.R.layout.simple\u微调器\u项);
spinnerAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
spinner.setAdapter(spinneraladapter);
spinner.setOnItemClickListener((AdapterView.OnItemClickListener)新的微调器_类());
}
@凌驾
SearchStateChanged上的公共void(已启用布尔值){
}
@凌驾
搜索已确认的公共无效(字符序列文本){
}
@凌驾
公共无效onButtonClicked(int buttonCode){
}
公共类微调器_类实现AdapterView.OnItemSelectedListener{
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
}
@凌驾
未选择公共无效(AdapterView父级){
}
}
}
我打赌(因为既不知道错误消息也不知道确切的方法setOnItemSelectedListener
在代码中的调用位置),您必须在MainActivity
中实现OnItemSelectedListener
,而不是AdapterView.OnItemSelectedListener
接口。已描述。在oncreate方法中添加setOnItemClickListener
public class MainActivity extends AppCompatActivity implements MaterialSearchBar.OnSearchActionListener {
Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = (Spinner) findViewById(R.id.sort_spinner);
ArrayAdapter<CharSequence> spinnerAadapter = ArrayAdapter.createFromResource(this,
R.array.sort_array, android.R.layout.simple_spinner_item);
spinnerAadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerAadapter);
spinner.setOnItemClickListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.d(TAG,"@@@setOnItemClickListener position:"+position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
@Override
public void onSearchStateChanged(boolean enabled) {
}
@Override
public void onSearchConfirmed(CharSequence text) {
}
@Override
public void onButtonClicked(int buttonCode) {
}
}
公共类MainActivity扩展AppCompative实现MaterialSearchBar.OnSearchActionListener{
纺纱机;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
微调器=(微调器)findViewById(R.id.sort\u微调器);
public class MainActivity extends AppCompatActivity implements MaterialSearchBar.OnSearchActionListener{
Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = (Spinner) findViewById(R.id.sort_spinner);
ArrayAdapter<CharSequence> spinnerAadapter = ArrayAdapter.createFromResource(this,
R.array.sort_array, android.R.layout.simple_spinner_item);
spinnerAadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerAadapter);
spinner.setOnItemClickListener((AdapterView.OnItemClickListener) new spinner_class());
}
@Override
public void onSearchStateChanged(boolean enabled) {
}
@Override
public void onSearchConfirmed(CharSequence text) {
}
@Override
public void onButtonClicked(int buttonCode) {
}
public class spinner_class implements AdapterView.OnItemSelectedListener{
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
}
public class MainActivity extends AppCompatActivity implements MaterialSearchBar.OnSearchActionListener {
Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = (Spinner) findViewById(R.id.sort_spinner);
ArrayAdapter<CharSequence> spinnerAadapter = ArrayAdapter.createFromResource(this,
R.array.sort_array, android.R.layout.simple_spinner_item);
spinnerAadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerAadapter);
spinner.setOnItemClickListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.d(TAG,"@@@setOnItemClickListener position:"+position);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
@Override
public void onSearchStateChanged(boolean enabled) {
}
@Override
public void onSearchConfirmed(CharSequence text) {
}
@Override
public void onButtonClicked(int buttonCode) {
}
}