안드로이드 개발 질문/답변
(글 수 45,052)
public class RSS_TestActivity extends Activity {
public static Object[] items;
private ArrayList<HashMap<String, String>> list_board = new ArrayList<HashMap<String, String>>();
private HashMap<String, String> map;
private SimpleAdapter sa;
private ArrayList<String> contents;
static final int PROGRESS_DIALOG = 0;
private ImageView icon;
private ListView lv;
private TextView status;
private String tag;
private String abcd;
private String b="subject";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
status = (TextView) findViewById(R.id.textView1);
lv = (ListView) findViewById(R.id.listView1); // ListView를 보여주는 부분
sa = new SimpleAdapter(this, list_board, R.layout.row_board,
new String[] { "subject", "rowid", "content", "power" },
new int[] { R.id.board_subject, R.id.board_date,R.id.board_writer, R.id.imageView1 });
lv.setAdapter(sa);
contents = new ArrayList<String>();
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// 뷰를 가지고 오는 부분
// Adapter 를 사용 하는 lv이므로, Adapter에 기본적으로 있는 getView 를 통해서 가지고 온
View _view = sa.getView(position, view, parent);
TextView _tv = (TextView) _view.findViewById(R.id.board_subject);
Toast.makeText(RSS_TestActivity.this, _tv.getText(),
Toast.LENGTH_SHORT).show();
}
});
list_board.clear();
try {
URL text = new URL("http://203.230.103.132/web.php);
XmlPullParserFactory parserCreator = XmlPullParserFactory
.newInstance();
XmlPullParser parser = parserCreator.newPullParser();
parser.setInput(text.openStream(), null);
status.setText("로딩중..");
int parserEvent = parser.getEventType();
String tag = "";
boolean inTitle = false; // 제목여부판단
boolean inItem = false; // 아이템변경 판단
boolean inWriter = false; // 작성자 판단
boolean inDate = false; // 작성일
boolean inContent = false; // 내용
// XML 날짜 형식 변환하기
SimpleDateFormat sdf = new SimpleDateFormat(
"yyyy년 MM월 dd일 HH시 mm분 ss초");
Date pubdate = null;
int count = 0;
contents.clear(); // 가지고왔던 콘텐츠를 모두 삭제함
do {
Log.i("test", "" + count);
switch (parserEvent) {
case XmlPullParser.TEXT:
tag = parser.getName();
// 제목
if (inItem && inTitle) {
map.put("subject", parser.getText());
}
break;
case XmlPullParser.END_TAG:
tag = parser.getName();
// 태그가 끝나면...
if (tag.compareTo("data") == 0) {
inItem = false;
list_board.add(map);
}
if (tag.compareTo("subject") == 0) {
inTitle = false;
}
break;
case XmlPullParser.START_TAG:
tag = parser.getName();
// 시작하는 태그
if (tag.compareTo("data") == 0) {
inItem = true;
map = new HashMap<String, String>();
}
//
if (tag.compareTo("subject") == 0) {
inTitle = true;
}
break;
}
status.setText("파싱중: " + String.valueOf(count));
parserEvent = parser.next();
count++;
} while (parserEvent != XmlPullParser.END_DOCUMENT);
status.setText("파싱 끝"); // status를 통해서 파싱 유무를 알려줌
sa.notifyDataSetChanged();
} catch (Exception e) {
}
}
}
여기서 xml에서 subject라는 태그의 사이에값을 가져옵니다~
근데 이 subject의 값에 따라서 즉 값을 비교해서 equlas == 1 이면은
아이콘 star1이 가고 0일시는 star아이콘을 넣으려고하는데..
if문을 써고 subject에 넣는 텍스트뷰의 값을 가져와서 해도 안되네요..ㅠㅠ
답변 부탁드립니다 하루종일 이것만 했는데..해결못하고질문올립니다




밤샜는데도..해결을 못했습니다;;;
이거말구도 교차로 행에 색도넣어야하는데..;;조언부탁드려요