我对如何剖析此错误消息有误解。我知道有更简单、更优雅的方法可以做到这一点,但我只是想这样做以帮助理解。我们正在制作一个应用程序,其中的搜索栏用于完成时间表。抱歉转储了一堆代码,但我只是无法理解它想告诉我什么。
我们已经制作了一个音频播放器搜索栏和一个用于家庭成员姓名的数组列表。我正在尝试利用有限的经验来创建这个应用程序。为什么这不起作用?
解释越简单越好。到了这个阶段,就不可能再屈尊俯就了。
我读过类似的问题,但它并不是这个问题所特有的。例如cannot resolve constructor 'arrayadapter(android.widget.adapterview.onitemselectedlistener, int, java.util.arraylist)'
这是我的代码:
//Define Listview and Seekbar in code
final ListView listView = (ListView) findViewById(R.id.myListView);
SeekBar seekBar = (SeekBar) findViewById(R.id.mySeekBar);
//Set max and min Seekbar and get int
seekBar.setMax(20);
seekBar.setMin(1);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//Create Arraylist
ArrayList<Integer> arrayList = new ArrayList<>();
for (int i = 1; i < 15; i++){
arrayList.add(i * progress);
//create adapter and set listview
ArrayAdapter arrayAdapter = new ArrayAdapter<Integer>(this, android.R.layout.simple_list_item_1, arrayList);
listView.setAdapter(arrayAdapter);
}
最佳答案
new SeekBar.OnSeekBarChangeListener
是一个匿名内部类,在类引用中调用 this
来引用 SeekBar.OnSeekBarChangeListener
类而不是您的 Activity
类。
此处 ArrayAdapter
的第一个参数应为 Context
,但在您的情况下,您将传递 OnSeekBarChangeListener
。因此您需要使用 Activity.this
而不是 this
。
关于java - 无法解析构造函数'ArrayAdapter(匿名android.widget.SeekBar.OnSeekBarChangeListener,int,java.util.ArrayList <java.lang.Integer>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56164622/