OnItemClickListener не работает [дубликат]

.writerow() требует последовательности ('', (), []) и помещает каждый индекс в свой собственный столбец строки последовательно. Если желаемая строка не является элементом в последовательности, writerow() будет перебирать каждую букву в вашей строке и каждый будет записан в ваш CSV в отдельной ячейке.

после import csv

Если это ваш список:

myList = ['Diamond', 'Sierra', 'Crystal', 'Bridget', 'Chastity', 'Jasmyn', 'Misty', 'Angel', 'Dakota', 'Asia', 'Texxxas', 'Desiree', 'Monique', 'Tatiana']


listFile = open('Strippers.csv', 'wb')
writer = csv.writer(listFile)
for item in myList:
    writer.writerow(item)

В приведенном выше скрипте будет создан следующий CSV: strippers.csv

D,i,a,m,o,n,d
S,i,e,r,r,a
C,r,y,s,t,a,l
B,r,i,d,g,e,t
C,h,a,s,t,i,t,y
J,a,s,m,y,n
M,i,s,t,y
A,n,g,e,l
D,a,k,o,t,a
A,s,i,a
T,e,x,x,x,a,s
D,e,s,i,r,e,e
M,o,n,i,q,u,e
T,a,t,i,a,n,a

Если вы хотите, чтобы каждое имя в нем собственная ячейка, решение состоит в том, чтобы просто поместить вашу строку (item) в последовательность. Здесь я использую квадратные скобки []. :

listFile2 = open('Strippers2.csv', 'wb')
writer2 = csv.writer(listFile2)
for item in myList:
    writer2.writerow([item])

Сценарий с .writerow([item]) дает желаемые результаты: Strippers2.csv

Diamond
Sierra
Crystal
Bridget
Chastity
Jasmyn
Misty
Angel
Dakota
Asia
Texxxas
Desiree
Monique
Tatiana
5
задан Grant 3 October 2013 в 10:06
поделиться

4 ответа

Добавьте к вашей кнопке

  android:focusable="false"
  android:focusableInTouchMode="false"

следующие атрибуты ListView setOnItemClickListener не работает с помощью кнопки добавления

Является ли ваш edittext сосредоточенным на щелчке списка пункт? Если это так, удалите фокус также с edittext.

22
ответ дан Community 29 August 2018 в 02:12
поделиться
// try this
public class MainPortal extends Activity {
    private List<Employee> employees = new ArrayList<Employee>();
    EditText et;
    ListView list;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_portal);
        populateEmployeeList();
        //populsteListView();

        list = (ListView) findViewById(R.id.employeeListView);
        ArrayAdapter<Employee> adapter = new MylistAdapter();
        list.setAdapter(adapter);

        list.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
//I ADDED ON CLICK IMPLEMENTATION HERE, BUT THIS IS NOT WORKING
                Toast.makeText(getApplicationContext(), "CLICKED", Toast.LENGTH_SHORT).show();
            }
        });
    }
}
0
ответ дан Haresh Chhelana 29 August 2018 в 02:12
поделиться

Здесь ваш edittext внутри списка имеет все внимание, поэтому этот список onClick не работает. Удалите фокус из блока editext, и он начнет работать

2
ответ дан Kanika 29 August 2018 в 02:12
поделиться

В моем случае setOnItemClickListener отлично работает в версиях Android Upto 5.1.1, но на Android 6.0.1. Наконец-то я нашел решение. Попробуйте удалить эти строки из вашего XML-макета.

android:orientation="vertical"
tools:context=".ManageRequest"
android:contextClickable="true"

Работает для меня в Android версии 6.0.1. Надеюсь, что ваши проблемы решены .. !!! Счастливое кодирование:)

0
ответ дан RAJESH KUMAR ARUMUGAM 29 August 2018 в 02:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: