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

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

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

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

24.05.2014, 16:55. Просмотров 716. Ответов 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>
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2014, 16:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Своя картинка на каждом разделе Spinner (Программирование Android):

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

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

Своя картинка в категории - OpenCart
Доброго времени суток. Возник вопрос такой, А возможно ли установить свою картинку со свойсвтами на каждую категорию? То есть, есть...

Border-right своя картинка - HTML, CSS
Добрый вечер, надо на правый бордер поставить свою картинку как на фото ниже. какие варианты могут быть? &lt;ul...

К каждому индексу своя картинка - Flash
Я конечно извиняюсь что так вот спрашиваю, но вопрос у меня по поводу flash, просто не могу разобраться с одной ..мм... проблемой, так она...

Своя картинка в окне запуска программы - Unity, Unity3D
Здравствуйте! Подскажите пожалуйста, как поставить свою картинку вместо серого экрана в окне запуска программы. (Скриншот прикрепила) ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
24.05.2014, 22:25 #2
Создайте класс MyCustomAdapter и передавайте в его конструктор массивы картинок и полей. Не забудьте также создать 2 лайаута, основной и выпадающий.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2014, 22:25
Привет! Вот еще темы с ответами:

Разные колонтитулы в каждом разделе - MS Word
Здравствуйте уважаемые форумчане. Проблема следующая. Изменяя один колонтитул, меняются и другие. Делал разрывы разделов и снимал &quot;галку&quot;...

Каждому Button должна соответствовать своя картинка, и свой ответ - Delphi
Имеются 15 Button, нужно чтоб на каждый Button соответствовала своя картинка, и свой ответ, как задать массив не рандом? и чтобы массив...

Как сделать чтобы у каждого поста выводилась своя картинка? - WordPress
Я новичок в Wordpress, поэтому просьба сильно не пинать:) В Wordpress (тема Simple Travel) присутствует такой раздел как Banners (очень...

Записи в txt: сделать так, чтобы к каждой добавленной записи соответствовала своя картинка - Visual Basic
форма добавляет информацию в txt файл (заполняешь все поля - жмешь кнопку). надо сделать так, чтобы к каждой добавленной записи...


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

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

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