我對如何剖析此錯誤消息有誤解。我知道有更簡單、更優雅的方法可以做到這一點,但我只是想這樣做以幫助理解。我們正在制作一個應用程序,其中搜索欄用于完成時間表。很抱歉轉儲一堆代碼,但我無法理解它試圖告訴我的內容。我們已經制作了一個音頻播放器搜索欄和一個家庭成員姓名數組列表。我正在嘗試使用有限的經驗來創建此應用程序。為什么這不起作用?解釋越簡單越好。在這個階段不可能光顧。我讀過類似的問題,但它并不特定于這個問題。例如無法解析構造函數 '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); }
2 回答

慕工程0101907
TA貢獻1887條經驗 獲得超5個贊
new SeekBar.OnSeekBarChangeListener
是一個匿名內部類,在類內部調用this
引用SeekBar.OnSeekBarChangeListener
該類而不是您的Activity
類。
這里的第一個參數ArrayAdapter
應該是 a Context
,但在你的情況下你傳遞的是你的OnSeekBarChangeListener
。所以你需要使用Activity.this
而不是this
.

慕桂英4014372
TA貢獻1871條經驗 獲得超13個贊
您在創建 ArrayAdapter 時使用了不正確的上下文,因為this
下面的代碼將引用SeekBar
而不是 Activity。使用YourActivity.this
而不是僅使用this
.
ArrayAdapter arrayAdapter = new ArrayAdapter<Integer>(this, android.R.layout.simple_list_item_1, arrayList);
添加回答
舉報
0/150
提交
取消