.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
Добавьте к вашей кнопке
android:focusable="false"
android:focusableInTouchMode="false"
следующие атрибуты ListView setOnItemClickListener не работает с помощью кнопки добавления
Является ли ваш edittext сосредоточенным на щелчке списка пункт? Если это так, удалите фокус также с edittext.
// 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();
}
});
}
}
Здесь ваш edittext внутри списка имеет все внимание, поэтому этот список onClick не работает. Удалите фокус из блока editext, и он начнет работать
В моем случае setOnItemClickListener отлично работает в версиях Android Upto 5.1.1, но на Android 6.0.1. Наконец-то я нашел решение. Попробуйте удалить эти строки из вашего XML-макета.
android:orientation="vertical"
tools:context=".ManageRequest"
android:contextClickable="true"
Работает для меня в Android версии 6.0.1. Надеюсь, что ваши проблемы решены .. !!! Счастливое кодирование:)