2015-01-23 4 views
-2

У меня есть эта строка:Ошибка ListView (Android)

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
         android.R.layout.simple_list_item_1, android.R.id.text1, values); 

Это ошибка:

The constructor ArrayAdapter(new View.OnClickListener(){}, int, int, String[]) is undefined Line breakpoint:ListViewAndroidExample [line: 63] - onClick(View)

final Button button1 = (Button) findViewById(R.id.amore); 
button1.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
    Button amore = (Button) findViewById(R.id.amore); 
    amore.setVisibility(View.INVISIBLE); 
    Button amicizia = (Button) findViewById(R.id.amicizia); 
    amicizia.setVisibility(View.VISIBLE); 


    listView = (ListView) findViewById(R.id.list); 
    String[] values = new String[] { 
     "Amore", 
     "Amore", 
     "Simple List View In Android", 
     "Create List View Android", 
     "Android Example", 
     "List View Source Code", 
     "List View Array Adapter", 
     "Android Example List View" 
    }; 


    // Define a new Adapter 
    // First parameter - Context 
    // Second parameter - Layout for the row 
    // Third parameter - ID of the TextView to which the data is written 
    // Forth - the Array of data 

    ArrayAdapter <String> adapter = new ArrayAdapter <String> (this, 
     android.R.layout.simple_list_item_1, android.R.id.text1, values); 


    // Assign adapter to ListView 
    listView.setAdapter(adapter); 

    listView.setOnItemClickListener(new OnItemClickListener() { 
+1

Опубликовать свой код. –

+2

передать 'YourActivityName.this' в качестве первого параметра в ArrayAdapter, в настоящее время вы передаете контекст onClick, используя' this' –

ответ

3

Pass YourClassName.this вместо this в конструкторе ArrayAdapter в

2

ArrayAdapter конструктор определяется в API:

ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects) 

Ваш адаптер ....

ArrayAdapter(this, android.R.layout.simple_list_item_1, android.R.id.text1, values); 

... указывает на OnClickListener. Если вы установили что-то в OnClickListener, которому требуется, например, ссылка на контекст, вы всегда получите исключение, если вы сделаете это по-своему. Первый параметр «this» указывает на OnClickListener, но он должен указывать на контекст, который вы используете в своем случае Контекст класса из вашей активности. Правильный путь:

ArrayAdapter(YourClassName.this, android.R.layout.simple_list_item_1, android.R.id.text1, values); 
+0

Пожалуйста, весь код завершен? – Messina

+0

Что вы имеете в виду? Не могу дать вам весь код, потому что вы его не отправили. – Opiatefuchs

Смежные вопросы