Можете ли вы использовать ToggleButton вместо Button?
layout.xml
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:textOff="done"
android:textOn="done"
android:background="@drawable/test_selector"/>
test_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- on checked -->
<item
android:state_checked="true"
android:state_pressed="false"
android:drawable="@drawable/button_bg_selected" />
<!-- normal -->
<item
android:state_checked="false"
android:state_pressed="false"
android:drawable="@drawable/button_bg_normal" />
<!-- pressed -->
<item
android:state_pressed="true"
android:drawable="@drawable/button_bg_pressed" />
</selector>
Простите мне за то, что сделали это в C#, не уверенном точно синтаксис в VB.NET:
MasterCalendarInstance
.OrderBy(x => x.Key)
.Select((x, ixc) => new { CalendarId = x.Key, Iter = ixc });
Я не знаю, возможно ли это в VB, но в C# каждый использует закрытие:
int count = 0
var res = from x in MasterCalendarInstance
order by x.Key
select new {
CalendarId = x.Key,
Iter = count++
};
Я наткнулся на это сообщение, когда пытался решить аналогичную проблему со списком (из String).
Я размещаю свое решение в надежде, что оно может быть принято для решения вашей проблемы, но больше для любого другого, кто столкнется с этой проблемой со списком (из T).
Dim list As New List(Of String)
list.Add("Test1")
list.Add("Test2")
list.Add("Test3")
Dim var = list.Select(Function(s) New With {.Name = s, .RecordID = list.IndexOf(s)})
Надеюсь, это поможет!