2015-06-24 44 views
1

我有一个微调工程。但是,当我尝试更改选择时,它不会更新。Android,微调不更新

这是应用原则:您选择一个loction,例如巴塞罗那,您应该看到价格,例如30欧元。

但是,正如我所解释的,如果您将位置更改为其他位置,则价格不会改变。

这是代码(有些位在西班牙):

@Override 
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { 


    if (pos == 0){ 
     priceAdulto = 34.00; 
     priceNino = 28.00; 

     setContentView(R.layout.activity_my); 
     TextView textViewAdulto = (TextView) findViewById(R.id.textView3); 
     textViewAdulto.setText(priceAdulto.toString()); 
     TextView textViewNino = (TextView) findViewById(R.id.textView4); 
     textViewNino.setText(priceNino.toString()); 

     Toast.makeText(getApplicationContext(), "Updated", 
       Toast.LENGTH_SHORT).show(); 
    } 
    if (pos == 1){ 
     priceAdulto = 25.00; 
     priceNino = 22.00; 
     setContentView(R.layout.activity_my); 
     TextView textViewAdulto = (TextView) findViewById(R.id.textView3); 
     textViewAdulto.setText(priceAdulto.toString()); 

     setContentView(R.layout.activity_my); 
     TextView textViewNino = (TextView) findViewById(R.id.textView4); 
     textViewNino.setText(priceNino.toString()); 

     Toast.makeText(getApplicationContext(), "Updated", 
       Toast.LENGTH_SHORT).show(); 

    } 
    if (pos == 2) { 
     priceAdulto = 43.50; 
     priceNino = 39.00; 
     setContentView(R.layout.activity_my); 
     TextView textViewAdulto = (TextView) findViewById(R.id.textView3); 
     textViewAdulto.setText(priceAdulto.toString()); 

     setContentView(R.layout.activity_my); 
     TextView textViewNino = (TextView) findViewById(R.id.textView4); 
     textViewNino.setText(priceNino.toString()); 

     Toast.makeText(getApplicationContext(), "Updated", 
       Toast.LENGTH_SHORT).show(); 
    } 

回答

4

你的错误是在汽车无设定内容查看。
这将视图重置为初始状态。

您应该只设置一次布局。
可能在onCreate(如果你在一个Activity中)或onCreateView(如果你在一个片段中)。

而且,由于你与数字打交道,执行多个条件检查的更优雅的方式将使用switch(pos){...}

+0

将改变现在 – Camo001

+0

错误消失。 –

+1

它工作感谢!!!!! – Camo001

1

设置内容视图只有一次,多次做它需要它回到起点。在创建时使用设置内容视图,就是这样。 希望它有效。