Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 44, средняя оценка - 4.73
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
#1

EditText в одном из Item ListView - Программирование Android

07.06.2013, 19:25. Просмотров 6299. Ответов 84
Метки нет (Все метки)

Помогите решить довольно нестандартную задачу. У меня есть ListView, есть Adapter который делает кастомный вид разметки. В ListView выводится список слов и один из элементов ListView содержит надпись "мой текст". Мне нужно, чтобы при клике на элемент ListView где написано "мой текст", появилась клавиатура и предлагало сюда ввести текст, т.е. в этой ячейке должен быть editText, но в других ячейках должен быть только текст и вписать в них ничего нельзя.

Ещё на элементе должна быть справа картинка (типа radiobutton но своя картинка), которая будет говорить какой элемент выбран и после по нажатию кнопки которая будет находится под ListView получать данные с отмеченной ячейки.
Надеюсь понятно объяснил, если что отвечу.

Вот код:

Главная активность которая содержит фрагменты
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
 
public class Registration_Activity extends FragmentActivity {
    PagerAdapter pagerAdapter;
    public ViewPager mViewPager;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        setContentView(R.layout.registration_activity);     
        
        mViewPager = (ViewPager) findViewById(R.id.pager);      
        TitleAdapter titleAdapter = new TitleAdapter(getSupportFragmentManager());
        mViewPager.setAdapter(titleAdapter);
        mViewPager.setCurrentItem(0);
       
    }
    
    public class TitleAdapter extends FragmentPagerAdapter {        
        private final Fragment frags[] = new Fragment[3];    
        public TitleAdapter(FragmentManager fm) {
            super(fm);
            
            frags[0] = new Registration_Fragment1();
            frags[1] = new Registration_Fragment2();
            frags[2] = new Registration_Fragment3();
        }
     
        @Override
        public Fragment getItem(int position) {
            return frags[position];
        }
     
        @Override
        public int getCount() {
            return frags.length;
        }
    }
 
        
    }
Фрагмент где всё происходит
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
 
public class Registration_Fragment1 extends Fragment {
 
    private String[] listview_array = { "ONE", "TWO", "THREE", "мой текст" };
 
    ListView myList;
 
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        AdapterFragment mAdapter = new AdapterFragment(getActivity(),
                listview_array);
        myList.setAdapter(mAdapter);
        super.onActivityCreated(savedInstanceState);
 
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
 
        View myView = inflater.inflate(R.layout.registration_screen_2,
                container, false);
 
        myList = (ListView) myView.findViewById(R.id.listView);
 
        AdapterFragment mAdapter = new AdapterFragment(getActivity(),
                listview_array);
        myList.setAdapter(mAdapter);
 
        Helper.getListViewSize(myList);
 
        return myView;
    }
 
}
Адаптер
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
 
public class AdapterFragment extends ArrayAdapter<String> {
    private final Context context;
    private final String[] values;
 
    public AdapterFragment(Context context, String[] values) {
        super(context, R.layout.item, values);
        this.context = context;
        this.values = values;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 
        View rowView = inflater.inflate(R.layout.item, parent, false);
        TextView textView = (TextView) rowView.findViewById(R.id.textView111);
        ImageView imageView = (ImageView) rowView.findViewById(R.id.imageView111);
        textView.setText(values[position]);
 
        // Change icon based on name
        String s = values[position];
 
        System.out.println(s);
 
        return rowView;
    }
}
разметка
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/ic_launcher"
    android:orientation="vertical" >
 
    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:background="@drawable/ic_launcher"
        android:orientation="vertical" >
    </LinearLayout>
 
    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/linearLayout1" >
 
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="499dp" >
 
            <LinearLayout
                android:id="@+id/linearLayout2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="10dp"
                android:orientation="vertical" >
 
                <ImageView
                    android:id="@+id/imageView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:src="@drawable/ic_launcher" />
 
                <TextView
                    android:id="@+id/textViewTitleQuiz"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginRight="10dp"
                    android:text="TextView" />
            </LinearLayout>
 
            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/linearLayout2"
                android:layout_below="@+id/linearLayout2"
                android:layout_marginTop="5dp"
                android:text="TextView" />
 
            <LinearLayout
                android:id="@+id/linearLayout3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/textView2"
                android:layout_centerHorizontal="true"
                android:orientation="vertical" >
 
                <TextView
                    android:id="@+id/textView3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="5dp"
                    android:text="TextView" />
            </LinearLayout>
 
            <LinearLayout
                android:id="@+id/linearLayout4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/linearLayout3"
                android:layout_centerHorizontal="true"
                android:orientation="vertical" >
 
                <ListView
                    android:id="@+id/listView"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_marginTop="10dp" >
                </ListView>
            </LinearLayout>
 
            <Button
                android:id="@+id/buttonApply"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/linearLayout3"
                android:layout_below="@+id/linearLayout4"
               android:text="Apply" />
        </RelativeLayout>
 
    </ScrollView>
 
</RelativeLayout>
разметка Item

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
 
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/close_task_item_answer">
 
        <TextView
            android:id="@+id/textView111"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:text="Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium" />
 
        <ImageView
            android:id="@+id/imageView111"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="22dp"
            android:src="@android:drawable/ic_delete" />
 
    </RelativeLayout>
 
</LinearLayout>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2013, 19:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос EditText в одном из Item ListView (Программирование Android):

Создание ListView из EditText - Программирование Android
Выдает ошибку в строке при создании адаптера. Пишет, что не распознает конструкцию ArrayAdapter Ниже прилагаю код. Список должен...

Фильтрация ListView из EditText - Программирование Android
Не могу разобраться с фильтрацией в ListView. Фильтрация происходит правильно (находит нужное количество), но выводит не те, которые нужно...

EditText.Listener внутри ListView - Программирование Android
Добрый день. Помогите пожалуйста с задачкой. У меня есть ListView, который пополняется записями типа(TextView/EditText), количество...

Custom ListView item setColor - Программирование Android
Всех С Новым Годом! Начал изучать разработку под Android на IDE Android Studio. Создал TabHost с тремя вкладками, в первой вкладке создал...

Изменить цвет у item-a в listView - Программирование Android
Привет, вопрос такой. Задача такая: Допустим у меня есть элементы listview разноцветные: (мне нужно при нажатие что бы он стал...

ListView. Задать высотку Item-а - Программирование Android
Посмотрите этот пример(очень простой) - http://freehabr.ru/blog/android/2022.html Как там изменить размер элементов - они все должны быть...

84
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
09.06.2013, 16:24 #76
ну так добавляйте "" для эдита когда передаете true.
или
Java
1
2
3
4
@Override
    public int getCount() {
        return mDisplayEdit ? super.getCount()+1 : super.getCount();
    }
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
09.06.2013, 16:37  [ТС] #77
Цитата Сообщение от V0v1k Посмотреть сообщение
ну так добавляйте "" для эдита когда передаете true.
а это надо вычислить все элементы в String[] циклом и после в конце добавить "" ????

если добавить это метод getCount то при нажатии на item с editText вылетает exeption
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
06-09 15:32:23.889: E/AndroidRuntime(24750): FATAL EXCEPTION: main
06-09 15:32:23.889: E/AndroidRuntime(24750): java.lang.IndexOutOfBoundsException
06-09 15:32:23.889: E/AndroidRuntime(24750):    at java.util.Arrays$ArrayList.get(Arrays.java:75)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at android.widget.ArrayAdapter.getItem(ArrayAdapter.java:298)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at android.widget.AdapterView.getItemAtPosition(AdapterView.java:740)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at by.example.fragmentexample.Registration_Fragment1$1.onItemClick(Registration_Fragment1.java:76)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at android.widget.AdapterView.performItemClick(AdapterView.java:284)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at android.widget.ListView.performItemClick(ListView.java:3763)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at android.widget.AbsListView$PerformClick.run(AbsListView.java:1918)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at android.os.Handler.handleCallback(Handler.java:587)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at android.os.Handler.dispatchMessage(Handler.java:92)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at android.os.Looper.loop(Looper.java:130)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at android.app.ActivityThread.main(ActivityThread.java:3687)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at java.lang.reflect.Method.invokeNative(Native Method)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at java.lang.reflect.Method.invoke(Method.java:507)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
06-09 15:32:23.889: E/AndroidRuntime(24750):    at dalvik.system.NativeStart.main(Native Method)
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
09.06.2013, 16:43 #78
Цитата Сообщение от Stylish2013 Посмотреть сообщение
а это надо вычислить все элементы в String[] циклом и после в конце добавить "" ????
ничего не понял.


Цитата Сообщение от Stylish2013 Посмотреть сообщение
если добавить это метод getCount то при нажатии на item с editText вылетает exeption
ну так добавьте проверку не последний ли это айтем прежде чем вызывать getItemAtPosition.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
09.06.2013, 18:07  [ТС] #79
Цитата Сообщение от V0v1k Посмотреть сообщение
ничего не понял.
просто я не понимаю как передать "" для эдита когда передаю true.


Цитата Сообщение от V0v1k Посмотреть сообщение
ну так добавьте проверку не последний ли это айтем прежде чем вызывать getItemAtPosition.
простите, а как это сделать?

p.s. не ругайте, за мою несообразительность....

Добавлено через 46 минут
сделал так:
Java
1
2
3
4
5
6
               try{
                String item = (String) myList.getItemAtPosition(position);
                Toast.makeText(getActivity(),"You selected : " + item,Toast.LENGTH_SHORT).show();   
                }catch (Exception e) {
                System.out.println("нажат последний элемент");
                }
Добавлено через 32 минуты
После ScroolView вставляю кнопку, но при большом списке ListView эту кнопку становится не видно.
Как после ScrollView расположить Button чтоб он был виден когда пролистаешь в низ???
Если Button вложить в ScrollView то она видна.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
09.06.2013, 19:20  [ТС] #80
Цитата Сообщение от Stylish2013 Посмотреть сообщение
После ScroolView вставляю кнопку, но при большом списке ListView эту кнопку становится не видно.
Как после ScrollView расположить Button чтоб он был виден когда пролистаешь в низ???
Если Button вложить в ScrollView то она видна.
или проще сказать. Как сделать появление клавиатуры вплотную к item с EditText скрываю всё под собой. В приложении к письму видно. на первом снимке видна ещё кнопка, а результат нужен как на втором снимке - вплотную к listView.
0
Миниатюры
EditText в одном из Item ListView   EditText в одном из Item ListView  
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
09.06.2013, 21:05  [ТС] #81
есть мысли, как сделать появление клавиатуры вплотную к item с EditText скрывая всё под собой?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
09.06.2013, 21:19 #82
хз, может выставить кнопку за пределы скролвью...
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
09.06.2013, 21:50  [ТС] #83
Цитата Сообщение от V0v1k Посмотреть сообщение
хз, может выставить кнопку за пределы скролвью...
это работает если сразу все элементы listview видны и скролить не нужно, если их много то кнопку не при каких обстоятельствах не видно.
Не может же быть чтобы нельзя было клавиатурой управлять. Как же сделать...??
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
09.06.2013, 23:02 #84
попробуйте в манифесте моды для клавиатуры
XML
1
2
3
4
<activity
android:windowSoftInputMode="***"
***
/>
например adjustPan, он первый раз работает вроде как вам надо, но дальше не работает, поэксперементируйте..

Добавлено через 14 минут
кстати, с эдитами, которые не запханы в лист, все нормально работает без костылей...

Добавлено через 56 секунд
листы не предназначены для эдитов...
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
11.06.2013, 11:38  [ТС] #85
поэкспериментировал со всеми и самый приближенный вариант это android:windowSoftInputMode="adjustPan" но да работает он только в первый раз нормально и это плохо...

Добавлено через 15 минут
а вот ещё... Если ввести текст в editText а потом переключится на другой tab (у меня tabHost) и снова вернуться, вылетает приложение и выдает в лог:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
06-09 22:40:21.859: E/AndroidRuntime(1649): FATAL EXCEPTION: main
06-09 22:40:21.859: E/AndroidRuntime(1649): java.lang.StackOverflowError
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.text.method.ReplacementTransformationMethod$ReplacementCharSequence.getChars(ReplacementTransformationMethod.java:151)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.text.TextUtils.getChars(TextUtils.java:69)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.graphics.Paint.measureText(Paint.java:1068)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.text.Styled.drawUniformRun(Styled.java:146)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.text.Styled.drawDirectionalRun(Styled.java:298)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.text.Styled.measureText(Styled.java:430)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.text.Layout.measureText(Layout.java:1518)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.text.Layout.getHorizontal(Layout.java:564)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.text.Layout.getHorizontal(Layout.java:548)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.text.Layout.getPrimaryHorizontal(Layout.java:533)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.widget.TextView.getFocusedRect(TextView.java:4282)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.FocusFinder.findNextFocus(FocusFinder.java:72)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.focusSearch(ViewGroup.java:476)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.focusSearch(ViewGroup.java:478)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.focusSearch(ViewGroup.java:478)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.focusSearch(ViewGroup.java:478)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.focusSearch(ViewGroup.java:478)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.focusSearch(ViewGroup.java:478)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.focusSearch(ViewGroup.java:478)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.focusSearch(ViewGroup.java:478)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.focusSearch(ViewGroup.java:478)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.focusSearch(ViewGroup.java:478)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.focusSearch(ViewGroup.java:478)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.focusSearch(ViewGroup.java:478)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.View.focusSearch(View.java:3494)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.widget.TextView.onCreateInputConnection(TextView.java:4701)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.inputmethod.InputMethodManager.startInputInner(InputMethodManager.java:945)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.inputmethod.InputMethodManager.checkFocus(InputMethodManager.java:1129)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.inputmethod.InputMethodManager.isActive(InputMethodManager.java:542)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.widget.TextView.onDraw(TextView.java:4184)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.View.draw(View.java:6880)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.View.draw(View.java:6883)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.widget.AbsListView.dispatchDraw(AbsListView.java:1586)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.widget.ListView.dispatchDraw(ListView.java:3210)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.View.draw(View.java:6883)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.widget.AbsListView.draw(AbsListView.java:2967)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.View.draw(View.java:6986)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.widget.FrameLayout.draw(FrameLayout.java:357)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.widget.ScrollView.draw(ScrollView.java:1423)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.View.draw(View.java:6883)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.View.draw(View.java:6883)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.support.v4.view.ViewPager.draw(ViewPager.java:1923)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.View.draw(View.java:6883)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.widget.FrameLayout.draw(FrameLayout.java:357)
06-09 22:40:21.859: E/AndroidRuntime(1649):     at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
а если ничего не вводить, то всё переключается без проблем. В чём причина, то?

Добавлено через 19 часов 7 минут
Появилось новая проблема. Когда дописал метод, который берет данные из базы и записывает их в ArrayList<String> а после передает в Adapter.
Сами данные отображаются всё хорошо, но вот при нажатии на item картинка рядом не появляется, я так полагаю что не срабатывает (я не уверен, но скорей всего) в адаптере метод notifyDataSetChanged(); который находится в setSelectedIndex(), вот его код:

Java
1
2
3
4
5
public void setSelectedIndex(int index) {
    selectedIndex = index;
    notifyDataSetChanged();
    System.out.println("Клик"+ "+ selectIndex"+index);
}

вот код метода который достаёт данные из БД и записывает в ArrayList, а после передает адаптеру.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
private void list(String id) {
 
    listArray = new ArrayList<String>();
 
    dbHelperQ = new DBHelperSqLite(getActivity());
    db = dbHelperQ.getReadableDatabase();
 
    // на вход передаю Id полученный из Item.
    Cursor valuesCursor = db.query(TABLE,
            new String[] { TAG_ID, TAG_TEXT }, TAG_ID
                    + "= ?", new String[] { id }, null, null, null);
 
    valuesCursor.moveToFirst();
    if (!valuesCursor.isAfterLast()) {
        do {
 
            String valueT = valuesCursor.getString(1);
        
            listArray.add(valueT);
 
        } while (valuesCursor.moveToNext());
    }
    valuesCursor.close();
    db.close();
    
    //добавил
    final AdapterFragment2 mAdapter = new AdapterFragment2(getActivity(),
            listArray);
 
    mAdapter.setDisplayEdit(false);
    myList.setAdapter(mAdapter);
    Helper.getListViewSize(myList);
     
}
и вот как стал выглядеть onCreateView():
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
 
    View myView = inflater.inflate(R.layout.fragment_screen2,
            container, false);
 
    myList = (ListView) myView.findViewById(R.id.listView);
 
    textView= (TextView) myView
            .findViewById(R.id.textView);
    
    listArray = new ArrayList<String>();
    
 
    final AdapterFragment2 mAdapter = new AdapterFragment2(getActivity(),
            listArray);
    myList.setAdapter(mAdapter);
    
            
    myList.setOnItemClickListener(new OnItemClickListener(){
        public void onItemClick (AdapterView<?> parent, View view, int position, long id) {
            try{
            String item = (String) myList.getItemAtPosition(position);
            Toast.makeText(getActivity(),"You selected : " + item,Toast.LENGTH_SHORT).show();   
            }catch (Exception e) {
            System.out.println("нажат последний элемент");
            }
                                    
            mAdapter.setSelectedIndex(position);
 
 
        }
});
                        
 
    return myView;
}
из зачего это может быть???

Добавлено через 4 часа 3 минуты
Помогите пожалуйста, любы идеи уже не знаю что и делать!
почему при нажатии на item картинка рядом не появляется?????

Добавлено через 12 часов 42 минуты
если в onCreateView прописать сразу данные статические и передавать их адаптеру, то всё работает (всё отмечается)...
Java
1
private String[] listview_array = { "ONE", "TWO", "THREE", "FOUR" };
0
11.06.2013, 11:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2013, 11:38
Привет! Вот еще темы с ответами:

ListView: передача данных в item - Программирование Android
Элементы ListView содержат три TextView и два ImageView. В первый TextView записываю данные так: ArrayAdapter&lt;String&gt; adapter = new...

Прокрутка ListView в начало при обновлении EditText - Программирование Android
Всем привет! Проблема следующая - имеется ListView с адаптером. Элементы ListView - кастомные вьюшки с EditText. Если список очень большой,...

Два события onClick в одном item - Программирование Android
Доброго времени суток . У меня есть listView , у него назначен BaseAdapter , в item'e есть две кнопки , нужно как-то обрабатывать...

ListView кнопка добавить item в избранное - Программирование Android
Здравствуйте форумчане, не нашел в инете подобный вопрос, может неправильно делал поисковой запрос. Вообщем, у меня есть ListView со 100...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
85
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru