2017-10-08 123 views
0

在我的任务中,我有两个spinners和一个textView。我从第一个微调选择一个城市,而不是从第二个微调选择一个人。在textView上,我想根据微调器中选定的人员显示一些信息。在我的程序中,人员和textView部件从JSON填充。我的问题是,在我的textView中,我只能看到关于微调器第一项的信息。当我选择另一个人时,textView不会更新。微调值textView自动android

textView = (TextView)findViewById(R.id.textView23); 


      cenazeSpinner.setAdapter(new ArrayAdapter<String>(Celenk1.this, 
        android.R.layout.simple_spinner_dropdown_item, 
        cenazeList)); 


      cenazeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){ 
       @Override 
       public void onItemSelected(AdapterView<?> adapterView,View view, int position,long l){ 
        textView.setText("Cenaze Töreni Tarihi: "+celenkList.get(position).getCenazeToreniTarihi()+ "\n"+"Cenaze Töreni Vakti: "+celenkList.get(position).getCenazeToreniVakti()); 

       } 

我试图在类下编写更新函数,但它不起作用。

+0

Soo ...你的第一个微调器工作吗? cenazeSpinner你的第二个微调不起作用? – merterpam

+0

我的第一个微调工程。在我的cenazeSpinner中,我选择了一个人,根据选定的人,我在TextView上显示了一些信息。但是,在TextView上我只看到第一人称信息(这是默认选择的)。当我在第二个微调框中选择另一个人时,textView不会更新。我希望我能清楚地解释我的问题。 @merterpam – heyaa

+0

据我所知,cenazeSpinner应该工作,你正在使用正确的侦听器。当你在onItemSelected中放置一个Log或Toast时会发生什么,是否曾经被调用过?如果是这样,那么位置的价值是什么,不管你选择什么,它会改变还是保持不变? – merterpam

回答

1

从我能理解你的评论,微调实际上工作正常,但你有设置textView的问题。下面是一些可能的调试尝试和可能的解释:

你确定textView是你想要的TextView吗?当你把textView.setText(“”+ position);微调内部的文本视图改变?

  • 如果TextView中不会改变,无论你正在寻找TextView的是不是你所引用的对象相同,或另一段代码是不断变化的TextView。

  • 如果是这样,那么最有可能的问题是与celenklist。如果将celenklist中的信息打印到日志中,选择不同人时日志会有所不同吗?我们确定我们获得了不同的数据(与默认数据相比)?也许我们正在celenklist中选择不同的项目,但由于数据相同,我们无法看到它。

+0

感谢您的帮助!问题是celenkList。现在,它的工作! – heyaa