当前位置: 代码迷 >> Android >> Android Spinner错误:无法应用AdapterView中的getOnItemSelectedListener
  详细解决方案

Android Spinner错误:无法应用AdapterView中的getOnItemSelectedListener

热度:59   发布时间:2023-08-04 10:36:50.0

我使用一个简单的微调器在整数数组中显示买入值。 Gradle Build中的错误说: method getOnItemSelectedListener in class AdapterView<T> cannot be applied to given types 没有必需的参数,并且错误的原因如下: actual and formal arguments lists differ in length where T is a type-variable: T extends Adapter declared in class AdapterView 我不确定如何解决(this)上出现的错误:

spinner.getOnItemSelectedListener(this);

我认为这是正确的做法,因为我告诉微调器this活动负责监听微调器上的事件。

这是我的代码:

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;


public class HomeActivity extends Activity implements AdapterView.OnItemSelectedListener{

    Spinner spinner;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        // Get the view from home_activity.xml
        setContentView(R.layout.home_activity);

        // initialize spinner
        spinner = (Spinner) findViewById(R.id.buyInSpinner);

        ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.buy_in, android.R.layout.simple_spinner_item);
        spinner.setAdapter(adapter);
        spinner.getOnItemSelectedListener(this);

    } // end onCreate method

    @Override
    public void onItemSelected(AdapterView<?> adapterView, View v, int i, long l)
    {
        TextView myText = (TextView) v;
        Toast.makeText(this, "You Selected "+myText.getText(), Toast.LENGTH_SHORT).show();
    } // end onItemSelected method

    @Override
    public void onNothingSelected(AdapterView<?> adapterView)
    {
        Toast.makeText(this, "You Must Buy-In To Play", Toast.LENGTH_SHORT).show();
    } // end onNothingSelected method

} // end HomeActivity class

你为什么要没有变量? 我认为在这种情况下,您应该使用spinner.setOnItemSelectedListener(this); 代替

  相关解决方案