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

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

Войти
Регистрация
Восстановить пароль
 
trezz
0 / 0 / 1
Регистрация: 21.01.2013
Сообщений: 107
#1

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

24.05.2014, 16:55. Просмотров 689. Ответов 1
Метки нет (Все метки)

Добрый всем день, уже который день сижу над темой spinner. У меня в списке 2 пункта "Срочно" и " Напомнить", подскажите как реализовать на каждый пункт свою картинку.
вот нашел темку: http://developer.alexanderklimov.ru/...ws/spinner.php но как это вставить в свой проект, не могу догнать... Помогите кто может. Спасибо
P.S не знаю какой класс понадобится, поэтому выложу все.
EditActivity
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
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
108
109
public class EditActivity extends Activity {
 
    private EditText mTitleText;
    private EditText mBodyText;
    private Long mRowId;
    private ToDoDatabase mDbHelper;
    private Spinner mCategory;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        mDbHelper = new ToDoDatabase(this);
 
        setContentView(R.layout.activity_edit);
 
        mCategory = (Spinner) findViewById(R.id.category);
        mTitleText = (EditText) findViewById(R.id.todo_edit_summary);
        mBodyText = (EditText) findViewById(R.id.todo_edit_description);
 
        Button confirmButton = (Button) findViewById(R.id.todo_edit_button);
        mRowId = null;
        Bundle extras = getIntent().getExtras();
 
        mRowId = (savedInstanceState == null) ? null
                : (Long) savedInstanceState
                        .getSerializable(ToDoDatabase.COLUMN_ID);
        if (extras != null) {
            mRowId = extras.getLong(ToDoDatabase.COLUMN_ID);
        }
 
        populateFields();
 
        confirmButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                if (TextUtils.isEmpty(mTitleText.getText().toString())) {
                    Toast.makeText(EditActivity.this, "Данные не введены",
                            Toast.LENGTH_LONG).show();
                } else {
                    saveState();
                    setResult(RESULT_OK);
                    finish();
                }
            }
        });
    }
 
    private void populateFields() {
        if (mRowId != null) {
            Cursor todo = mDbHelper.getTodo(mRowId);
            startManagingCursor(todo);
            String category = todo.getString(todo
                    .getColumnIndexOrThrow(ToDoDatabase.COLUMN_CATEGORY));
 
            for (int i = 0; i < mCategory.getCount(); i++) {
 
                String s = (String) mCategory.getItemAtPosition(i);
                Log.e(null, s + " " + category);
                if (s.equalsIgnoreCase(category)) {
                    mCategory.setSelection(i);
                }
            }
 
            mTitleText.setText(todo.getString(todo
                    .getColumnIndexOrThrow(ToDoDatabase.COLUMN_SUMMARY)));
            mBodyText.setText(todo.getString(todo
                    .getColumnIndexOrThrow(ToDoDatabase.COLUMN_DESCRIPTION)));
            todo.close();
        }
    }
 
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        // saveState();
        // outState.putSerializable(ToDoDatabase.COLUMN_ID, mRowId);
    }
 
    @Override
    protected void onPause() {
        super.onPause();
        // saveState();
    }
 
    @Override
    protected void onResume() {
        super.onResume();
        populateFields();
    }
 
    private void saveState() {
        String category = (String) mCategory.getSelectedItem();
        String summary = mTitleText.getText().toString();
        String description = mBodyText.getText().toString();
 
        if (description.length() == 0 && summary.length() == 0) {
            return;
        }
 
        if (mRowId == null) {
            long id = mDbHelper.createNewTodo(category, summary, description);
            if (id > 0) {
                mRowId = id;
            }
        } else {
            mDbHelper.updateTodo(mRowId, category, summary, description);
        }
    }
}
MainActivity
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
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
public class MainActivity extends ListActivity {
 
    private ToDoDatabase dbHelper;
    private static final int ACTIVITY_CREATE = 0;
    private static final int ACTIVITY_EDIT = 1;
    private static final int DELETE_ID = Menu.FIRST + 1;
    private Cursor cursor;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // setContentView(R.layout.activity_main);
        setContentView(R.layout.activity_main);
        this.getListView().setDividerHeight(2);
        dbHelper = new ToDoDatabase(this);
 
        fillData();
        registerForContextMenu(getListView());
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
    // Реакция на выбор меню
    @Override
    public boolean onMenuItemSelected(int featureId, MenuItem item) {
        switch (item.getItemId()) {
        case R.id.insert:
            createNewTask();
            return true;
        }
        return super.onMenuItemSelected(featureId, item);
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.insert:
            createNewTask();
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
 
    @Override
    public boolean onContextItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case DELETE_ID:
            AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
                    .getMenuInfo();
            dbHelper.deleteTodo(info.id);
            fillData();
            return true;
        }
        return super.onContextItemSelected(item);
    }
 
    private void createNewTask() {
        Intent intent = new Intent(this, EditActivity.class);
        startActivityForResult(intent, ACTIVITY_CREATE);
    }
 
    private void fillData() {
        cursor = dbHelper.getAllTodos();
        startManagingCursor(cursor);
 
        String[] from = new String[] { ToDoDatabase.COLUMN_SUMMARY };
        int[] to = new int[] { R.id.label };
 
        // Теперь создадим адаптер массива и установим его для отображения наших
        // данных
        SimpleCursorAdapter notes = new SimpleCursorAdapter(this,
                R.layout.list_row, cursor, from, to);
        setListAdapter(notes);
 
    }
 
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);
        Intent intent = new Intent(this, EditActivity.class);
        intent.putExtra(ToDoDatabase.COLUMN_ID, id);
        // активити вернет результат если будет вызвано с помощью этого метода
        startActivityForResult(intent, ACTIVITY_EDIT);
    }
 
    @Override
    protected void onActivityResult(int requestCode, int resultCode,
            Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);
 
        if (resultCode == RESULT_OK) {
            fillData();
        }
 
    }
 
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, DELETE_ID, 0, R.string.menu_delete);
    }
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (dbHelper != null) {
            dbHelper.close();
        }
    }
    @Override
       public void onBackPressed() {
        AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this);
          alertDialog.setTitle("Выйти?");
         
          alertDialog.setMessage("Вы действительно хотите выйти?");
      
          alertDialog.setPositiveButton("Да", new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialog,int which) {
               Intent intent = new Intent(Intent.ACTION_MAIN);
                  intent.addCategory(Intent.CATEGORY_HOME);
                  intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                  startActivity(intent);
                  
              }
              
          });
      
          alertDialog.setNegativeButton("Нет", new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialog, int which) {
                  dialog.cancel();
              }
          });
          
 
          alertDialog.show();
      return;
      
      
       }
    
}
List_row
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
 
    <ImageView
        android:id="@+id/icon"
        android:layout_width="30dp"
        android:layout_height="40dp"
        android:layout_marginLeft="4dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="8dp"
        android:src="@drawable/img" >
    </ImageView>
 
    <TextView
        android:id="@+id/label"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="6dp"
        android:text=""
        android:textColor="@color/black"
        android:textSize="30sp" >
    </TextView>
 
</LinearLayout>
Strings
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="utf-8"?>
<resources>
 
    <string name="app_name">ToDoList</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
 
    <string-array name="priorities">
        <item>Срочные</item>
        <item>Напомнить</item>
    </string-array>
 
    <string name="no_todos">    Нет текущих задач</string>
    <string name="menu_insert">Добавить</string>
    <string name="menu_delete">Удалить</string>
    <string name="todo_summary">Кратко</string>
    <string name="todo_description">Описание</string>
    <string name="todo_confirm">Применить</string>
 
    <color name="listcolor">#FFE87C</color>
    <color name="black">#000000</color>
 
</resources>
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2014, 16:55     Своя картинка на каждом разделе Spinner
Посмотрите здесь:

Своя картинка в TabHost - Программирование Android
Как загрузить свою картинку (там где кружочки нарисованы) ?

Своя картинка на каждый раздел Items - Программирование Android
Подскажите, вот у меня есть два раздела &quot;Напомнить и срочно&quot; как поставить на каждый свою картинку? Спасибо

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

Spinner элементы - Программирование Android
Доброго времени суток) Есть Spinner список , нужно из этого списка выбрать элемент(текст) ,чтобы потом нажать на кнопку и в другом...

элемент spinner - Программирование Android
Подскажите, пожалуйста, как поставить текст элементов по центру? Код: android:gravity=&quot;center&quot; не работает.

Java spinner - Программирование Android
Спиннер(выпадающий список) у меня отображает массив из раздела strings.xml. Вопрос: как сделать так, чтобы при выборе элемента спиннера...

По поводу элемента (Spinner) - Программирование Android
Ребят. Как реализовать Есть элемент spinner(К которому прикреплены &quot;Месяцы Года&quot;); Как связать элемент spinner и switch(){ Т.е...

Spinner внутри ListView - Программирование Android
Здравствуйте, я пытаюсь сделать Spinner внутри ListView, но все попытки проходят без успешно. Скорей всего нужно создавать адаптер для...

Создание контрола (Spinner) - Программирование Android
Необходимо создать совой аналог spinnera, для возможности задания цвета текста За основу взял вот это ...

Синхронизация Spinner и Listview - Программирование Android
Есть спиннер со списком сайтов, который получен в виде json ArrayList&lt;HashMap&lt;String, String&gt;&gt; siteList; List&lt;String&gt;...

Непонятное отображение spinner - Программирование Android
Здравствуйте! &lt;TableRow android:id=&quot;@+id/tableRow3&quot; android:layout_width=&quot;match_parent&quot; ...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
24.05.2014, 22:25     Своя картинка на каждом разделе Spinner #2
Создайте класс MyCustomAdapter и передавайте в его конструктор массивы картинок и полей. Не забудьте также создать 2 лайаута, основной и выпадающий.
Yandex
Объявления
24.05.2014, 22:25     Своя картинка на каждом разделе Spinner
Ответ Создать тему
Опции темы

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