2014-10-17 1 views
0

내 프로젝트에서 숫자 값이 50,100 인 스피너를 사용하고 있습니다. strings.xml을 사용하여 값을 스피너에 전달하고 있습니다. 이 스피너 값을 정수로 어떻게 얻을 수 있습니까? 내가 아래의 코드를 사용하고 있지만 잘못된 int 오류를 제공합니다. 여기inavalid int 안드로이드에서 스피너에 값을 전달하는 동안 오류가 발생했습니다

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.reload_newvalue); 

     SpnTopupValue=(Spinner) findViewById(R.id.spinner2); 
     btnBUY=(Button) findViewById(R.id.btnBuy); 

     Thelper=new TransactionDBAdapter(this); 
     i=new Intent(this,ReloadHistory.class); 

     ArrayAdapter Tadapter=ArrayAdapter.createFromResource(this, R.array.Topupvalue, android.R.layout.simple_spinner_item); 
     SpnTopupValue.setAdapter(Tadapter);  

     btnBUY.setOnClickListener(new OnClickListener(){  
       @Override 
      public void onClick(View arg0) { 
       // TODO Auto-generated method stub 
       Transaction tran=new Transaction();     
       int TopupValue =Integer.parseInt(SpnTopupValue.getContext().toString());    

       tran.setTran_cardno(RegCardNo); 
       tran.setTran_cardname(RegcardName);   
       tran.setTran_topupval(TopupValue); 
       Thelper.open();   
       Thelper.ReloadNewCard(tran);   
       startActivity(i); 
      }   
     }); 
    } 
} 

문자열 배열

<array name="Topupvalue"> 
    <item>50</item> 
    <item>100</item> 
    </array> 

답변

0

변경 시도,

int TopupValue =Integer.parseInt(SpnTopupValue.getContext().toString()); 

에,

int TopupValue =Integer.parseInt(SpnTopupValue.getSelectedItem().toString().trim()); 

는 희망이 도움이 내 코드입니다!

+0

덕분에 ... – harini

+0

당신을 위해 기쁘다. 해피 코딩! – codePG

관련 문제