안드로이드 개발 질문/답변
(글 수 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"); } }
실행하면 다이얼로그까지는 뜨는데 오류가 나요.ㅠ
도와주세요...