Android spinner和view.GONE来填充数据时

时间:2011-08-28 14:40:42

标签: android spinner

我有两个微调器,其中一个可能是可见的,另一个可能是不可见的,取决于数据,它就像一棵树,但在旋转器中表示。

所以我使用setVisibility(view.GONE)来隐藏其中一个,但我仍然需要填充来自DB的一些ID和值。它只有一个值,但我需要将它添加到微调器中,这是未来的要求。

所以我需要在微调器中获得该值? 我怎样才能访问它?

2 个答案:

答案 0 :(得分:1)

就像它不是“Visible.GONE”一样,视图仍然在那里,但是隐藏了。您可以访问它并以编程方式初始化它

答案 1 :(得分:0)

只要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);

你还有它