多个微调器相互控制

时间:2014-03-03 16:18:49

标签: android spinner

我试图搜索这个,我能找到的最好的灵魂是notifyDataSetChange(),但这似乎不起作用。

我有4个微调查找圣经的章节和经文。 旋转器1列出了圣经,起源......启示书 旋转器2​​章 旋转器3开始 旋转器4结束诗歌

spinner1.onItemSelectedListener()ItemSelected()用正确的章节数填充spinner2

spinner2.onItemSelectedListener()ItemSelected()用正确的经文数填充spinner3

spinner3.onItemSelectedListener()ItemSelected()它使用以spinner3的值开头的正确编号数填充spinner4

我要做的是存储一系列诗歌并翻转它们,就像翻转卡片一样。所以存储1:1然后存储lev 2:6-7然后存储转22:17 ....

所有这些似乎都在起作用,它点击的地方是当我点击我的上一个/下一个按钮时,它会获得正确的数据并设置棘轮,但旋转器会执行onItemSelectedListener操作。

nextVerseBtn.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            if(currentCardBeingViewed < sermon.getNumberOfSVE()){
                loadSermonCard(sermon.getSVE(currentCardBeingViewed));
                currentCardBeingViewed++;
            }else{
                Toast.makeText(getApplicationContext(), "End of Sermon", Toast.LENGTH_SHORT).show();
            }
        }

    });

private void loadSermonCard(SermonVerseExplain sve){
     sets all 4 spinners according to data stored in sve.
}

在loadSermonCard()执行之后,然后将onItemSelectedListener调用到所有的微调器,它默认为第一个不同的旋转器。

所以,如果当前观看的诗歌是创世记1:1-1,我想要转到第1:2-4节,它将显示第1代:2-2。

然而,如果从gen 1:1-1到Exo 2:9-10,它将显示Exo 1:1-1。

有没有办法手动告诉微调器更改命令,以便它在loadSermonCard()内执行,而不是等待函数结束,我尝试notify()。似乎它看到了函数的变化,并将其置于提示中,等待loadSermonCard()结束。之后开始执行监听器。

0 个答案:

没有答案