public class TeamProjectActivity extends Activity { ListView listnews; ArrayList<News> newslist = new ArrayList<News>(); NewsAdapter newsadapter; String newstitle; String newslink; Intent intent; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); listnews = (ListView)findViewById(R.id.newsmainlist); newsadapter = new NewsAdapter(TeamProjectActivity.this, R.layout.news, newslist); //더보기 LinearLayout listfooter = (LinearLayout)View.inflate(TeamProjectActivity.this,R.layout.addlist,null); listnews.addFooterView(listfooter); //리스트에 어댑터 붙이기 listnews.setAdapter(newsadapter); listnews.setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView<?> arg0, View ve, int position,long arg3){ if(position < newslist.size()){ intent = new Intent(TeamProjectActivity.this,NewsActivity.class); intent.putExtra("newslink",newslist.get(position).newslink); startActivity(intent); } } }); } public void buttonClick(View v){ newsadapter.clear(); String urlstr = "http://openapi.naver.com/search?key=3287fae5aaf30877863e7ccec198568a&" + "query=%EA%B5%AD%EB%82%B4%EC%8A%A4%ED%82%A4%EC%9E%A5&target=news&start=1&display=13"; urlstr += URLEncoder.encode(urlstr); try{ URL url = new URL("urlstr); HttpURLConnection con = (HttpURLConnection)url.openConnection(); if(con != null){ if(con.getResponseCode()==HttpURLConnection.HTTP_OK){ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = factory.newDocumentBuilder(); Document doc = dBuilder.parse(con.getInputStream()); Element element = doc.getDocumentElement(); NodeList items = element.getElementsByTagName("item"); for(int i=0; i<items.getLength(); i++){ Node item = items.item(i); NodeList chList = item.getChildNodes(); newstitle = chList.item(0).getFirstChild().getNodeValue(); newslink = chList.item(2).getFirstChild().getNodeValue(); News news = new News(newstitle,newslink); newslist.add(news); } newsadapter.notifyDataSetChanged(); } con.disconnect(); } }catch(Exception e){ Toast.makeText(TeamProjectActivity.this,"관련 뉴스 없음", Toast.LENGTH_SHORT).show(); } } }
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="5sp">
<TextView
android:id="@+id/newsmaintext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="관련 뉴스 검색"
android:textSize="20sp"
android:textStyle="bold|italic"
android:layout_gravity="center|center_horizontal"
android:textAppearance="?android:attr/textAppearanceLarge"/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/newsmainsearch"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="검색 "
android:textSize="20sp"
android:textStyle="bold|italic"
android:onClick="buttonClick"/>
</LinearLayout>
<ListView
android:id="@+id/newsmainlist"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
</ListView>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_gravity="center_vertical"
android:paddingTop="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+ 더 보 기"
android:textSize="20sp"
android:textStyle="bold|italic"
android:textColor="#FFFFFFFF"
android:layout_gravity="center|center_horizontal"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
강득이님의 조언덕에 에러는 이제 잡혔습니다...그런데 또다른 문제가 실행시 검색 결과 더보기 버튼 기능이
실행이 안되네요..