2016-05-12 4 views
0

Я хочу получить: «ID» выбранного элемента из счетчика.Как получить идентификатор счетчика?

Вот мой код:

var sterren1Lems = new String[] 
     { 
       "1 out of 5 stars", "2 out of 5 stars", "3 out of 5 stars", "4 out of 5 stars", "5 out of 5 stars" 
     }; 

      sterren2Lems = FindViewById<Spinner>(Resource.Id.sterrenLems); 
      sterren2Lems.Adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleSpinnerDropDownItem, sterren1Lems); 

      TextView test = FindViewById<TextView>(Resource.Id.test); 

      sterren2Lems.ItemSelected += delegate 
      { 
       test.Text = sterren1Lems[Convert.ToInt32(sterren2Lems.SelectedItemId)]; 
      }; 

Пожалуйста, помогите мне!

+0

Один намек первым получить текст и 'substring' его. –

+0

Почему я должен использовать подстроку, когда мне нужен только: id/value выделенного текста? –

+0

Вы не хотите получать «1» из «1 из 5 звезд»? –

ответ

0

Либо подход в вашем случае не работает, я должен знать, обсуждения, что вы можете получить один string из массива. Так что просто используйте простой цикл, чтобы получить id.

sting yourString ="2 out of 5 stars"; 
string id = ""; 

for (int i = 0; i < yourString.Length; i++) 
{ 
    if (Char.IsDigit(yourString[i])) 
     result += str[i]; 
    else 
     break; 
} 

ИЛИ

string id = new String(yourString.TakeWhile(Char.IsDigit).ToArray()); 
+0

Но теперь мне нужно получить значение выбранного, а не из 1 строки –

+0

Как я знаю, Андрес уже рассказал вам о получении выделенного текста из счетчика. И вы также сказали, что сможете это получить. –

+0

Но сначала это не сработало, и теперь мне нужен его код снова с +1, но я его забыл –

1

Вам не нужно вытягивать любое значение внутри строки. Вы знаете значение только по позиции выбранного элемента.

sterren2Lems.ItemSelected += Sterren2Lems_ItemSelected; 

void Sterren2Lems_ItemSelected (object sender, AdapterView.ItemSelectedEventArgs e) 
{ 
    test.Text = sterren1Lems[e.Position]; 
} 
+0

Я всегда получаю значение: «5», потому что есть 5 массивов. –

+0

Я не уверен, что вы имеете в виду. С кодом выше вы получаете позицию номер 5, даже если вы выбираете первый элемент? –

+0

Да, это правильно. –