Советы по связыванию блесны - PullRequest
0 голосов
/ 12 сентября 2011

Мне нужно добавить 3 связанных счетчика, где выбранный контент в первом влияет на то, что отображается во втором, а затем то, что выбрано во втором, влияет на контент в третьем. Кто-нибудь уже сталкивался с этой проблемой и как вы ее преодолели?

Я думал о сохранении ряда массивов в ресурсах, которые нумеруются и затем загружаются в адаптер на основе выбора, выбранного в предыдущем блесне. Это хороший способ?

Спасибо, м

1 Ответ

2 голосов
/ 12 сентября 2011

Я бы сделал это примерно так:

spinner1.setOnItemSelectedListener(new OnItemSelectedListener() 
{
    @Override
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) 
    {
        SpinnerAdapter adapter = ...create or load the second adapter based on selected item...
        spinner2.setAdapter (adapter);
        spinner3.setAdapter (..create empty adapter...);
    }

    @Override
    public void onNothingSelected(AdapterView<?> parentView) 
    {
        spinner2.setAdapter (..create empty adapter...);
        spinner3.setAdapter (..create empty adapter...);
    }
});

spinner2.setOnItemSelectedListener(new OnItemSelectedListener() 
{
    @Override
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) 
    {
        SpinnerAdapter adapter = ...create or load the third adapter based on selected item...
        spinner3.setAdapter (adapter);
    }

    @Override
    public void onNothingSelected(AdapterView<?> parentView) 
    {
        spinner3.setAdapter (..create empty adapter...);
    }
});
...