중요코드만 일딴
-------------------------------------------------------------------------------------
private ArrayList<HashMap<String, String>> data;
private ArrayList<HashMap<String, String>> data2 = new ArrayList<HashMap<String, String>>();
lv = (ListView) findViewById(R.id.listView1);
data = new ArrayList<HashMap<String, String>>();
nh = new Net_HTMLParse(data);
nh.process(((TextRecord) record).getText());
data2.addAll(data);
sa = new SimpleAdapter(MainActivity.this, data2,
R.layout.list_row, new String[] { "name", "na",
"price2" }, new int[] { R.id.name, R.id.na,
R.id.price2 });
lv.setAdapter(sa);
---------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffffff" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="180dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
<ImageView
android:id="@+id/iconView"
android:layout_width="250dp"
android:layout_height="180dp"
android:background="#ffffffff"
android:gravity="center"
/>
<TextView
android:id="@+id/won"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/price2"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/price2"
android:background="#ffffffff"
android:gravity="center"
android:text="원"
android:textSize="15dp" />
<TextView
android:id="@+id/su"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/na"
android:layout_toRightOf="@+id/imageView1"
android:background="#ffffffff"
android:gravity="right"
android:text="수량 : "
android:textSize="15dp"
/>
<TextView
android:id="@+id/price2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/su"
android:layout_alignParentBottom="true"
android:layout_marginBottom="28dp"
android:layout_toLeftOf="@+id/won"
android:background="#ffffffff"
android:gravity="right"
android:textStyle="bold"
android:textSize="15dp" />
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginTop="16dp"
android:background="#ffffffff"
android:gravity="left"
android:layout_marginRight="5dp"
android:textStyle="bold"
android:textSize="20dp" />
<TextView
android:id="@+id/na"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/su"
android:layout_alignBottom="@+id/su"
android:layout_alignParentRight="true"
android:background="#ffffffff"
android:gravity="center"
android:textStyle="bold"
android:textSize="15dp" />
</RelativeLayout>
</RelativeLayout>
----------------------------------------------------------------------------------------------
jericho파싱을 통해 data2에 값을 넣어서 리스트뷰에 출력은 됩니다.
그런데여기서 리스트뷰에 이미지를 파싱하여 이미지를 출력하고싶습니다.
그래서 밑의 소스를 사용하였습니다.
---------------------------------------------------------------------------------------------------
void downloadFile(String fileUrl) {
URL myFileUrl = null; // URL 타입의 myFileUrl을 NULL로 초기화 시켜줍니다.
try {
myFileUrl = new URL("fileUrl); // 파라미터로 넘어온 Url을 myFileUrl에 대입합니다.
} catch (MalformedURLException e) // 예외처리를 해줍니다.
{
// Todo Auto-generated catch block
e.printStackTrace();
}
try {
// 실질적인 통신이 이루어지는 부분입니다.
// myFileUrl 로 접속을 시도합니다.
HttpURLConnection conn = (HttpURLConnection) myFileUrl
.openConnection();
conn.setDoInput(true);
conn.connect();
int length = conn.getContentLength(); // 받아온 컨텐츠의 길이를 length 변수에
// 저장합니다.
InputStream is = conn.getInputStream(); // InputStream is 변수에 받아온
// InputStream을 저장합니다.
bmImg = BitmapFactory.decodeStream(is); // 받아온 이미지를 bmImg에 넣어둡니다.
imView.setImageBitmap(bmImg); // imView에 이미지를 셋팅합니다.
} catch (IOException e) // 예외처리를 해줍니다.
{
e.printStackTrace();
}
}
-----------------------------------------------------------------------------
하지만 imView.setImageBitmap(bmImg) 이부분에서
NullPointerException 이 뜨더군요
SimpleAdapter로 listview 구현했을때 imageview에 url이미지를 가져와 리스트뷰에 출력하는 방법은 없을까요??
꽤진행이된상태라 어댑터를 변경하기엔 무리가 있어서요 ㅠㅠ
답변부탁드리겠습니다.
멘붕
질문에 답이 있는데요.
이미지뷰에 setImageBitmap 을 호출하시면 되겠습니다.
imView 가 널포인트익셉션이 나는데 이미지뷰 객체를 가져오지 못해서 그런거잖아요.