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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
nikooolay
8 / 8 / 0
Регистрация: 20.11.2009
Сообщений: 410
#1

Создание контрола (Spinner) - Программирование Android

14.02.2013, 19:22. Просмотров 1808. Ответов 9
Метки нет (Все метки)

Необходимо создать совой аналог spinnera, для возможности задания цвета текста
За основу взял вот это
http://stackoverflow.com/questions/9...ner-text-color
my_spinner_style.xml
XML
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8"?>
<textVeiw xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+android:id/text1"
    style="?android:attr/spinnerItemStyle"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:singleLine="true"
    android:textColor="#ffffff" />
MySpinnerVeiw
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
49
50
51
52
53
54
55
package com.example.gps_marker;
 
import android.content.Context;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
 
 
public class MySpinnerVeiw extends Spinner {
 
    String[] data  ;
    Spinner spinner;
    public MySpinnerVeiw(Context context, AttributeSet attrs) {
        super(context, attrs);
        //spinner = (Spinner) findViewById(context.get);
        // TODO Auto-generated constructor stub
    }
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
            getContext(), R.layout.my_spinner_style,data) {
 
        public View getView(int position, View convertView,
                ViewGroup parent) {
            View v = super.getView(position, convertView, parent);
 
            ((TextView) v).setTextSize(16);
            ((TextView) v).setTextColor(
                    getResources()
                    .getColorStateList(R.color.white));
            spinner.setAdapter(adapter);
            invalidate();
            return v;
        }
 
        public View getDropDownView(int position, View convertView,
                ViewGroup parent) {
            View v = super.getDropDownView(position, convertView,
                    parent);
            v.setBackgroundResource(R.drawable.car);
 
            ((TextView) v).setTextColor(getResources().getColorStateList(
                            R.color.blue));
         //   ((TextView) v).setTypeface(fontStyle);
 
            invalidate();
            return v;
        }
        public void init()
        { invalidate();}
    };
    
}
при размещении элемента на layout возникает ошибка

Кликните здесь для просмотра всего текста
java.lang.NullPointerException
at java.util.Arrays$ArrayList.<init>(Unknown Source)
at java.util.Arrays.asList(Unknown Source)
at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:128)
at com.example.gps_marker.MySpinnerVeiw$1.<init>(MySpinnerVeiw.java:22)
at com.example.gps_marker.MySpinnerVeiw.<init>(MySpinnerVeiw.java:23)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.instantiateClass(ProjectCallback.java:413)
at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.loadView(ProjectCallback.java:170)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:135)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:746)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:718)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:749)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:718)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:749)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:718)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:372)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:385)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:332)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:325)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:440)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1545)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1302)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.onXmlModelChanged(GraphicalEditorPart.java:1260)
at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegateXmlModelChanged(LayoutEditorDelegate.java:399)
at com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.xmlModelChanged(CommonXmlEditor.java:329)
at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor$XmlModelStateListener.modelChanged(AndroidXmlEditor.java:1636)
at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor.wrapEditXmlModel(AndroidXmlEditor.java:1097)
at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor.wrapUndoEditXmlModel(AndroidXmlEditor.java:1173)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.MoveGesture.drop(MoveGesture.java:396)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GestureManager$CanvasDropListener.drop(GestureManager.java:679)
at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
at org.eclipse.swt.dnd.DropTarget.Drop(DropTarget.java:456)
at org.eclipse.swt.dnd.DropTarget.Drop_64(DropTarget.java:392)
at org.eclipse.swt.dnd.DropTarget$3.method6(DropTarget.java:260)
at org.eclipse.swt.internal.ole.win32.COMObject.callback6(COMObject.java:119)
at org.eclipse.swt.internal.ole.win32.COM.DoDragDrop(Native Method)
at org.eclipse.swt.dnd.DragSource.drag(DragSource.java:363)
at org.eclipse.swt.dnd.DragSource.access$0(DragSource.java:289)
at org.eclipse.swt.dnd.DragSource$1.handleEvent(DragSource.java:172)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1029)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:923)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2013, 19:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание контрола (Spinner) (Программирование Android):

Создание контрола на верхней панели, как - Программирование Android
Всем здравствуйте.Недавно начал знакомство с андроидом.Буду краток.Интересует следующее: - как сделать такую кнопку на верхней...

Spinner - Программирование Android
кто знает как сделать так чтобы при выборе пункта из Spinner выполнялся отдельный кусок кода? в моем случае есть код для генерации...

Spinner - Программирование Android
подскажите пожалуйста есть такой код... spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { ...

spinner - Программирование Android
как реализовать spinner чтобы к выбранной строке соответствовала число. например есть формула A+B+C=Z. A,B - это EditText (с этим все...

Spinner - Программирование Android
В ответе выдает 0, что исправить? import android.os.Bundle; import android.app.Activity; import android.view.View; import...

Spinner - Программирование Android
Доброго времени суток! Можно ли сделать так чтобы при выборе одного из вариантов спиннера открывался новый активити

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.02.2013, 19:44 #2
Цитата Сообщение от nikooolay Посмотреть сообщение
MySpinnerVeiw. java:22
Цитата Сообщение от nikooolay Посмотреть сообщение
NullPointerException
...
0
nikooolay
8 / 8 / 0
Регистрация: 20.11.2009
Сообщений: 410
14.02.2013, 21:30  [ТС] #3
Исправил раньше чем прочитал ваш пост, но все равно спасибо.
вся проблема оказалась в пустой data
Java
1
String[] data ={"122", "255"} ;
однако главный вопрос с цветом так и не решился.
Тест по в списке по прежнему черный.

Цвет текста в приложении задается темой, возможно ли что данная тема изменяет явно заданные цвета?
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.02.2013, 21:51 #4
я не понимаю как оно вообще у вас работает....

Добавлено через 9 минут
у вас спинер в спинере и адаптер который сетается в методе который может быть вызван только после того, как его засетали.

Добавлено через 1 минуту
и сетается он в spinner который null
0
nikooolay
8 / 8 / 0
Регистрация: 20.11.2009
Сообщений: 410
15.02.2013, 01:43  [ТС] #5
Если я правильно понял ваше замечание
то следует написать вот так
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
public class MySpinnerVeiw extends Spinner {
 
    String[] data ={"122", "255"} ;
    Spinner spinner;
    
    public MySpinnerVeiw(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
        //spinner = (Spinner) findViewById(context.get);
        // TODO Auto-generated constructor stub
    }
    ArrayAdapter<String>  adapter1 = new ArrayAdapter<String>(
            getContext(), R.layout.my_spinner_style,data) {
 
        public View getView(int position, View convertView,
                ViewGroup parent) {
            View v = super.getView(position, convertView, parent);
 
            ((TextView) v).setTextSize(16);
            ((TextView) v).setTextColor(
                    getResources()
                    .getColorStateList(R.color.green));
           
            invalidate();
            return v;
        }
 
        public View getDropDownView(int position, View convertView,
                ViewGroup parent) {
            View v = super.getDropDownView(position, convertView,
                    parent);
            v.setBackgroundResource(R.drawable.car);
 
            ((TextView) v).setTextColor(getResources().getColorStateList(
                            R.color.blue));
         //   ((TextView) v).setTypeface(fontStyle);
            invalidate();
            return v;
        }
        
       
    };
    public void init()
    { 
         spinner.setAdapter(adapter1);
         }
    
}
и получаю вот такую ошибку
Кликните здесь для просмотра всего текста
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.gps_marker/com.example.gps_marker.MenuActivity}: android.view.InflateException: Binary XML file line #57: Error inflating class com.example.gps_marker.MySpinnerVeiw
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1768)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784)
at android.app.ActivityThread.access$1500(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3835)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #57: Error inflating class com.example.gps_marker.MySpinnerVeiw
at android.view.LayoutInflater.createView(LayoutInflater.java:518)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:213)
at android.app.Activity.setContentView(Activity.java:1657)
at com.example.gps_marker.MenuActivity.onCreate(MenuActivity.java:43)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722)
... 11 more
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
at android.view.LayoutInflater.createView(LayoutInflater.java:505)
... 23 more
Caused by: java.lang.NullPointerException
at com.example.gps_marker.MySpinnerVeiw.init(MySpinnerVeiw.java:57)
at com.example.gps_marker.MySpinnerVeiw.<init>(MySpinnerVeiw.java:20)
... 26 more
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.02.2013, 02:10 #6
Цитата Сообщение от nikooolay Посмотреть сообщение
Spinner spinner;
это зачем вообще нужно?
0
nikooolay
8 / 8 / 0
Регистрация: 20.11.2009
Сообщений: 410
15.02.2013, 02:35  [ТС] #7
Тогда приложение завершается с такой ошибкой
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
49
50
 FATAL EXCEPTION: main
 android.view.InflateException: Binary XML file line #2: Error inflating class textVeiw
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:386)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
    at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:332)
    at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
    at com.example.gps_marker.MySpinnerVeiw$1.getView(MySpinnerVeiw.java:29)
    at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:192)
    at android.view.View.measure(View.java:8335)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:386)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
    at android.view.View.measure(View.java:8335)
    at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1082)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
    at android.widget.ScrollView.onMeasure(ScrollView.java:296)
    at android.view.View.measure(View.java:8335)
    at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:581)
    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:365)
    at android.view.View.measure(View.java:8335)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
    at android.view.View.measure(View.java:8335)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:531)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
    at android.view.View.measure(View.java:8335)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
    at android.view.View.measure(View.java:8335)
    at android.view.ViewRoot.performTraversals(ViewRoot.java:843)
    at android.view.ViewRoot.handleMessage(ViewRoot.java:1892)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:130)
    at android.app.ActivityThread.main(ActivityThread.java:3835)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
    at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.ClassNotFoundException: android.view.textVeiw in loader dalvik.system.PathClassLoader[/mnt/asec/com.example.gps_marker-1/pkg.apk]
    at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
    at android.view.LayoutInflater.createView(LayoutInflater.java:471)
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:549)
    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
    ... 38 more
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.02.2013, 02:37 #8
нет такого класса "textVeiw", есть "TextVeiw"
0
nikooolay
8 / 8 / 0
Регистрация: 20.11.2009
Сообщений: 410
15.02.2013, 19:27  [ТС] #9
Результат работы следующий
Через атрибуты получаем id массив
присваиваем его содержимое к data. Судя по логам содержимое присваивается успешно,
однако для функция getDropDownView(int position, View convertView, ViewGroup parent) продолжает работать с первичным значением data.
Однако если в функцию дописать
((TextView) v).setText(data[0]);
значение выведется столько раз, сколько элементов было в data при первом объявлении.
Правильно ли я считаю что данная проблема вызвана тем что сначала создается объект, а уже затем я получаю атрибуты?

Java
1
2
3
4
5
6
7
8
9
10
public MySpinnerVeiw(Context context, AttributeSet attrs) {
        super(context, attrs);
        try {
            i = Integer.valueOf(attrs.getAttributeValue(0).substring(1,
                    attrs.getAttributeValue(0).length()));
            data = res.getStringArray(i);
        } catch (Exception e) {
            Log.d("my", "Error");
            // TODO: handle exception
        }
однако при попытке написать что либо перед super(context, attrs);
получаю Description Resource Path Location Type
Implicit super constructor Spinner() is undefined. Must explicitly invoke another constructor

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
49
50
51
52
53
54
55
56
57
58
package com.example.gps_marker;
 
import android.content.Context;
import android.content.res.Resources;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
 
public class MySpinnerVeiw extends Spinner {
 
    String[] data = { "123" };
    int i = 0;
    Resources res = getResources();
    public MySpinnerVeiw(Context context, AttributeSet attrs) {
        
        super(context, attrs);
        try {
            i = Integer.valueOf(attrs.getAttributeValue(0).substring(1,
                    attrs.getAttributeValue(0).length()));
            data = res.getStringArray(i);
        } catch (Exception e) {
            Log.d("my", "Error");
            // TODO: handle exception
        }
        init();
    }
 
    ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(getContext(),
            R.layout.my_spinner_style, data) {
// Выбранный элемент
        public View getView(int position, View convertView, ViewGroup parent) {
            View v = super.getView(position, convertView, parent);
            ((TextView) v).setText(data[0]);
            ((TextView) v).setTextColor(getResources().getColorStateList(
                    R.color.green));
            return v;
        }
// Раскрытый список 
        public View getDropDownView(int position, View convertView,
                ViewGroup parent) {
            View v = super.getDropDownView(position, convertView, parent);
            ((TextView) v).setTextColor(getResources().getColorStateList(
                    R.color.blue));
            return v;
        }
 
    };
 
    public void init() {
        setAdapter(adapter1);
        invalidate();
    }
 
}
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.02.2013, 20:31 #10
ниче не понял.

Добавлено через 8 минут
Java
1
2
3
4
5
 ((TextView) v).setText(data[position]);
....
public int getCount (){
return data.length();
}
Добавлено через 1 минуту
а лучше так

Java
1
2
3
4
5
6
7
8
try {
            i = Integer.valueOf(attrs.getAttributeValue(0).substring(1,
                    attrs.getAttributeValue(0).length()));
            data = res.getStringArray(i);
            adapter1 = new ArrayAdapter<String>(getContext(),
            R.layout.my_spinner_style, data) {...};
 
        }
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2013, 20:31
Привет! Вот еще темы с ответами:

spinner в ListView - Программирование Android
в каждой строке ListView есть текст и спинер указывающий какое то значение. два дня сижу не могу заставить чтоб каждый елемент листа...

Наполнение Spinner из БД - Программирование Android
Подскажите, как наполнить Spinner из БД? В данный момент названия из БД выводятся с помощью отдельного layout и TextView //...

быстрый Spinner - Программирование Android
Подскажите пожалуйста как реализовать. Имеется два спинера, сначала выбирается один, затем другой, нажимается кнопка &quot;сравнить&quot; и в...

Spinner и NavigationDrawer - Программирование Android
Доброго времени суток! Ситуевина следующая - надо реализовать спинер в экшнбаре + NavigationDrawer .. перерыл все что можно, но всегда...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.02.2013, 20:31
Ответ Создать тему
Опции темы

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