안드로이드 개발 질문/답변
(글 수 45,052)
코드는 아래와 같습니다.
Thread 생성시 ArrayAdapter에러
package dev.hiway;
import java.util.*;
import org.xmlpull.v1.*;
import android.app.*;
import android.os.*;
import android.widget.*;
public class ListViewActvity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Thread(new Runnable() {
public void run(){
boolean initem = false;
ArrayList<String> itemName = new ArrayList<String>();
String item = "";
String mitem = "";
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
parser.setInput(getAssets().open("list.xml"),"UTF-8");
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
String elementTag = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
if(elementTag.equals("road")) {
initem = true;
}else if(initem != false) {
if(elementTag.equals("title")){
item = parser.nextText();
}else if(elementTag.equals("speed")){
mitem = parser.nextText();
}
}
break;
case XmlPullParser.END_TAG:
if(elementTag.equals("road")) {
itemName.add(item);
itemName.add(mitem);
initem = false;
}
break;
}
eventType = parser.next();
}
ArrayAdapter<String> resultAdapter;
resultAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, itemName);
ListView list = (ListView)findViewById(R.id.list);
list.setAdapter(resultAdapter);
}
catch (Exception e) {
e.toString();
}
}
}).start();
}
}
Thread를 생성하면 이클립스에서 빨간줄로
"The constructor ArrayAdapter<String>(new Runnable(){}, int, ArrayList<String>) is undefined"라는 메시지가 나옵니다...
뭐가 문제일까요??????????
자바초보 안드로이드 초보자 입니다..ㅠㅠ




내용 그대로 ArrayAdapter의 생성자중 >(new Runnable(){}, int, ArrayList<String>) 로 정의된건 없다는 내용입니다.
파라미터의 this는 현재 런어블 스코프안에 있음으로 Runnable객체가 되겠죠..
ListViewActvity.this로 바꿔보시길..