【问题标题】:Cannot infer type arguments for ArrayAdapter<> in Android无法在 Android 中推断 ArrayAdapter<> 的类型参数
【发布时间】:2018-05-03 17:38:00
【问题描述】:
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    SeekBar seekBar=findViewById(R.id.seekBar);
    seekBar.setMax(20);
    seekBar.setProgress(10);

    seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            final ArrayList<String> tables = new ArrayList<>();
            final ArrayAdapter<String> adaptor = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,tables);

ArrayAdapter(this,android.R.layout.simple_list_item_1,tables) ;

这一行给出了无法推断类型参数的错误。 有什么建议吗?

我正在尝试将数据添加到 ArrayList,然后再添加到 ListView。

【问题讨论】:

  • ArrayAdapter 中的“this”传递当前引用了 seekbar,这不是有效的上下文。您必须在活动中传递 YourActivityName.this。

标签: java android


【解决方案1】:

使用 YourActivityName.this 代替 this。

 final ArrayAdapter<String> adaptor = new ArrayAdapter<String>(YourActivityName.this,android.R.layout.simple_list_item_1,tables);

如果仍然不起作用,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多