Android Spinner и View.GONE, когда приходят, чтобы заполнить данные - PullRequest
0 голосов
/ 28 августа 2011

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

Поэтому я использую setVisibility(view.GONE), чтобы скрыть один из них, но мне все еще нужно заполнить его некоторыми идентификаторами и значениями, полученными из БД. Это только одно значение, но мне нужно добавить его в счетчик, это требование будущего.

Итак, мне нужно получить это значение в счетчике? Как я могу получить к нему доступ?

Ответы [ 2 ]

1 голос
/ 28 августа 2011

Просто сделайте это, как если бы это не было «Visible.GONE», вид все еще там, но скрыт.Вы можете получить к нему доступ и инициализировать его программно

0 голосов
/ 28 августа 2011

Пока Spinner создается до того, как вам нужно будет заполнить его данными, видимость не имеет ничего общего. Этот экземпляр уже находится в памяти, и вы по-прежнему можете выполнять над ним операции.

Думай так:

Spinner spin = (Spinner)findViewById(R.id.myspinner); //we have the instance. in our xml its defined as `android:visibility="gone"`

//suppose you have the data in the cursor.
List l = new ArrayList();
c.moveToFirst();
while(c.isAfterLast==false)
{
    l.add(c.getString(0)); // add it to the list 
    c.moveToNext();

}
String[] mySpinnerArray = l.toArray();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MyActivity.this.getApplicationContext(), android.R.layout.simple_spinner_item, mySpinnerArray);
spin.setAdapter(adapter);

У тебя все еще есть

...