안드로이드 개발 질문/답변
(글 수 45,052)
public class Notice extends Activity implements Runnable {
ArrayList<NoticeItem> arItem;
Parser parser;
NoticeAdapter MyAdapter;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main_list);
TextView topText = (TextView) this.findViewById(R.id.toptext);
topText.setText("공지사항");
processParsing();
}
private void processParsing() {
ProgressDialog pd = ProgressDialog.show(this, "Loading...", "페이지를 로드중입니다...", true, false);
Thread thread = new Thread(this);
thread.start();
final Context context = this;
}
@Override
public void run() {
// TODO Auto-generated method stub
//파싱하는 부분입니다.
parser = new Parser();
NoticeList nt = new NoticeList();
String str = null;
ArrayList<NoticeList> arNotice = parser.getList("주소");
arItem = new ArrayList<NoticeItem>();
NoticeItem mi;
for(int i=0; i<arNotice.size(); i++){
nt = arNotice.get(i);
mi = new NoticeItem(nt.no, nt.title, nt.date, nt.hit, nt.link);
arItem.add(mi);
}
MyAdapter = new NoticeAdapter(this, R.layout.main_notice, arItem);
handler.sendEmptyMessage(0);
}
private Handler handler = new Handler(){
private Dialog pd;
public void handleMessage(Message msg){
..출력하는 부분입니다.
ListView MyList;
MyList = (ListView) findViewById(R.id.list);
MyList.setAdapter(MyAdapter);
MyList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
Intent intent = new Intent(getBaseContext(), not.sy.NoticeView.class);
intent.putExtra("Url", arItem.get(position).Link);
intent.putExtra("Date", arItem.get(position).Date);
parentActivity.startChildActivity("NoticeView", intent);
}
});
pd.dismiss();
}
};
}
class NoticeItem {
NoticeItem(String aNum, String aName, String aDate, String aHit, String aLink) {
Num = aNum;
Name = aName;
Date = aDate;
Hit = aHit;
Link = aLink;
}
String Num; String Name; String Date; String Hit; String Link; }
class NoticeAdapter extends BaseAdapter {
Context maincon; LayoutInflater Inflater; ArrayList<NoticeItem> arSrc; int layout;
public NoticeAdapter(Context context, int alayout, ArrayList<NoticeItem> aarSrc) {
maincon = context;
Inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
arSrc = aarSrc;
layout = alayout;
}
@Override
public int getCount() {
return arSrc.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return arSrc.get(position).Name;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final int pos = position;
if (convertView == null) {
convertView = Inflater.inflate(layout, parent, false);
}
TextView num = (TextView) convertView.findViewById(R.id.notice_num); num.setText(arSrc.get(position).Num);
TextView title = (TextView) convertView.findViewById(R.id.notice_title);
title.setText(arSrc.get(position).Name);
TextView date = (TextView) convertView.findViewById(R.id.notice_date);
date.setText("등록일 : " + arSrc.get(position).Date);
TextView hit = (TextView) convertView.findViewById(R.id.notice_hit);
hit.setText("조회수 : " + arSrc.get(position).Hit);
return convertView; }
}
class MyView extends View{
public MyView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public MyView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public void init(){
TextView tv = new TextView(getContext());
tv.setText("asdfsadfsdxcvxzcvasdfqewrsdf");
}
}
실행하면 다이얼로그까지는 뜨는데 오류가 나요.ㅠ
도와주세요...



