안드로이드 개발 질문/답변
(글 수 45,052)
public void onCreate(Bundle savedInstanceState) {
...
tab2radiogroup.setOnCheckedChangeListener( new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup group, final int checkedId) {
dialog = ProgressDialog.show(ulsanBUS.this, "", "잠시만 기다려주세요..", true);
new Thread(){
public void run(){
allstopnum.clear();
allstopname.clear();
allstopresult.clear();
String direction="0";
XmlPullParser parser = getResources().getXml(R.xml.allbus);
if(checkedId == R.id.RadioButton1){
direction="1";
}
else{
direction="2";
}
if( rb1.getText().equals(rb2.getText()) )
direction="3";
try{
int parserEvent = parser.getEventType();
while(parserEvent != XmlPullParser.END_DOCUMENT ){
if(parserEvent == XmlPullParser.START_TAG){
if( parser.getName().equals("route") ){
if( chosenbus.toString().equals(parser.getAttributeValue(null,"brt_id")) ){
if( direction.toString().equals(parser.getAttributeValue(null,"brt_direction")) ){
parserEvent = parser.next();
while( !parser.getName().equals("route") ){
if(parserEvent == XmlPullParser.START_TAG){
if( parser.getName().equals("stop") ){
allstopnum.add( parser.getAttributeValue(null,"id") );
allstopname.add( parser.getAttributeValue(null,"name") );
allstopresult.add("");
}
}
parserEvent = parser.next();
}break;
}
}
}
}
parserEvent = parser.next();
}
} catch( XmlPullParserException e){ e.printStackTrace(); }
catch( IOException e){ e.printStackTrace(); }
allstopresult.set(0,"터치하면 도착정보를 가져옵니다.");
tab2radiogrouplistener();
dialog.dismiss();
}
}.start();
}
});
...
이건 다른 메소드 입니다 ~
public void tab2radiogrouplistener(){
Runnable update = new Runnable(){
@Override
public void run(){
Tab2adapter.notifyDataSetChanged();
}
};
handler.post(update);
} 뭐 때문에 꺼지는지 모르겠습니다. 아무리 봐도...



