1
我試圖在ListView
添加String
而是創建一個ArrayAdapter
對象收到此錯誤時:的「ArrayAdapter」沒有被設置
Error:(32, 48) error: no suitable constructor found for ArrayAdapter(<anonymous OnClickListener>,int,List)
constructor ArrayAdapter.ArrayAdapter(Context,int,int) is not applicable
(argument mismatch; <anonymous OnClickListener> cannot be converted to Context)
constructor ArrayAdapter.ArrayAdapter(Context,int,String[]) is not applicable
(argument mismatch; <anonymous OnClickListener> cannot be converted to Context)
constructor ArrayAdapter.ArrayAdapter(Context,int,List<String>) is not applicable
(argument mismatch; <anonymous OnClickListener> cannot be converted to Context)
什麼,我到這兒是<anonymous OnClickListener> cannot be converted to Context
但不知道如何要解決這個問題。
我的代碼是:
public class MainActivity extends AppCompatActivity {
private ListView listView;
private static List listArray;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView)findViewById(R.id.itemList);
Button button = (Button)findViewById(R.id.addButton);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
EditText itemNameView = (EditText)findViewById(R.id.itemName);
String itemName = itemNameView.getText().toString();
listArray.add(itemName);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listArray);
adapter.add(itemName);
listView.setAdapter(adapter);
}
});
}
}
和錯誤是扔從上面的代碼下面一行:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, listArray);
但我想從'EditText'中取一個字符串,然後每次點擊'Button'時將它添加到'ListView'。 –
所以我選擇在'Button'的'onClickListener'中創建'ArrayAdapter'。但'ArrayAdapter'爲'this'參數引發錯誤。錯誤'不能轉換爲Context'。 –
也加入這一行listArray = new ArrayList();和乾淨的項目,然後運行 –