Подтвердить что ты не робот

Как установить несколько тегов на кнопку?

У меня есть 16 кнопок, и я помечаю их, чтобы сопоставить некоторые условия, заданные кнопками, и импортированные из базы данных sqlite. Поэтому я отмечаю их следующим образом:

// labelForButton and tagForButton
       class MyStruct {
       public MyStruct (String lab, String t){
        label = lab;
        tag = t;
    }
       private String label;
       private String tag;
       }

mDbHelper.open();

            Cursor c = mDbHelper.getSpojnice(generateWhereClause());

            ArrayList<MyStruct> labelsA = new ArrayList<MyStruct>();
            ArrayList<MyStruct> labelsB = new ArrayList<MyStruct>();

            labelsA.add(new MyStruct(c.getString(2), "1")); // this tag should be the same to button that matches
            labelsB.add(new MyStruct(c.getString(3), "1"));
            labelsA.add(new MyStruct(c.getString(4), "2"));
            labelsB.add(new MyStruct(c.getString(5), "2"));
            labelsA.add(new MyStruct(c.getString(6), "3"));
            labelsB.add(new MyStruct(c.getString(7), "3"));
            labelsA.add(new MyStruct(c.getString(8), "4"));
            labelsB.add(new MyStruct(c.getString(9), "4"));
            labelsA.add(new MyStruct(c.getString(10), "5"));
            labelsB.add(new MyStruct(c.getString(11), "5"));
            labelsA.add(new MyStruct(c.getString(12), "6"));
            labelsB.add(new MyStruct(c.getString(13), "6"));
            labelsA.add(new MyStruct(c.getString(14), "7"));
            labelsB.add(new MyStruct(c.getString(15), "7"));
            labelsA.add(new MyStruct(c.getString(16), "8"));
            labelsB.add(new MyStruct(c.getString(17), "8"));

            Collections.shuffle(labelsA);
            Collections.shuffle(labelsB);

            a1.setText(labelsA.get(0).label);
            a1.setTag(labelsA.get(0).tag);
            a1.setOnClickListener(clickListener);
            b1.setText(labelsB.get(0).label);
            b1.setTag(labelsB.get(0).tag);
            b1.setOnClickListener(clickListener);
            a2.setText(labelsA.get(1).label);
            a2.setTag(labelsA.get(1).tag);
            a2.setOnClickListener(clickListener);
            b2.setText(labelsB.get(1).label);
            b2.setTag(labelsB.get(1).tag);
            b2.setOnClickListener(clickListener);
.
.
.
.
}
}

Итак, мне нужны A1 и B1, чтобы иметь те же теги, также A2 и B2 и т.д.

НО, мне также нужно по какой-то другой причине, чтобы все кнопки A имели тег, например "A" и все B "B". Итак, как установить несколько, в моем случае двух, тегов на одну кнопку?

EDIT:

Я добавил это в свой файл string.xml:

<item type="id" name="KOLONA1"/>
<item type="id" name="KOLONA2"/>

Затем добавлены теги:

a1.setTag(R.id.KOLONA1, labelsA.get(0).tag);
b1.setTag(R.id.KOLONA2, labelsA.get(0).tag);
4b9b3361

Ответ 1

Если вам нужно добавить несколько тегов в один вид, вам нужно определить идентификатор для каждого тега в файле strings.xml, например:

<item type="id" name="section" />
<item type="id" name="hide_show" />

После добавления ключа вы можете использовать эти ключи в java файле, как показано ниже:

rowView.setTag(R.id.section,mSectionList.get(position));
rowView.setTag(R.id.hide_show,"close");

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

String mSection=(String)rowView.getTag(R.id.section);
String isOpen=(String)rowView.getTag(R.id.hide_show);

Ответ 2

Вам следует использовать метод setTag(int key, Object tag), который также принимает второй параметр key. Это позволит вам установить несколько tags для каждого Button следующим образом:

button.setTag(1,object1);
button.setTag(2,object2);

Ответ 3

попробуйте:

button.setTag(R.id.resource_id1,obj1);
button.setTag(R.id.resource_id2,obj2);
button.setTag(R.id.resource_id3,obj3);

и чтобы получить теги, используйте

v.getTag(R.id.resource_id1);
v.getTag(R.id.resource_id2);
v.getTag(R.id.resource_id3);

но это вернет только объекты. вам нужно его придумать.

Ответ 4

Определите идентификатор ключа в strings.xml, а затем введите его через идентификатор Пример:

В String.xml объявить следующий код

<item type="id" name="date" />

<item type="id" name="name" />

теперь установите тег следующим образом

 share.setTag(R.id.date,it.adjournDate);
 share.setTag(R.id.name,it.partyName);

Поделиться названием моей кнопки

Теперь, наконец, получим тег в кнопке, где вы хотите, чтобы эти значения прослушивались следующим образом:

v.getTag(R.id.name)
v.getTag(R.id.date)