안드로이드 개발 질문/답변
(글 수 45,052)
public class FoodJSONActivity extends ListActivity {
/** Called when the activity is first created. */
String Id;
String Name;
String Url;
private static final String User_URL = "URL";
ArrayList<HashMap<String,String>> maplist;
String url = "http://localhost/1234.php"; <----아이피 가리기 위해서 일부러 다르게 적었습니다 ^^
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
maplist = new ArrayList<HashMap<String,String>>();
try{
JSONParser jParser = new JSONParser();
JSONArray jOBJ = jParser.getJSONWithoutArrayNameFromUrl("url);
for(int i = 0; i<jOBJ.length(); i++){
JSONObject e = jOBJ.getJSONObject(i);
Id = e.getString("FOOD_ID");
Name = e.getString("FOOD_NAME");
Url = e.getString(User_URL);
HashMap<String,String> map = new HashMap<String,String>();
map.put("FOOD_ID", Id);
map.put("FOOD_NAME", Name);
map.put(User_URL, Url);
maplist.add(map);
}
}catch(Exception e){
}
ListAdapter adapter = new SimpleAdapter(this, maplist, R.layout.list_item,
new String[] {"FOOD_ID", "FOOD_NAME","URL"}, new int[]{R.id.ID, R.id.NAME, R.id.URL});
setListAdapter(adapter);
final ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
//Object obj = parent.getItemAtPosition(position);
Intent in = new Intent(FoodJSONActivity.this, webView.class);
in.putExtra(User_URL, Url);
startActivity(in);
}
});
}
}
연습용으로 만든 코드이고요 Intent putExtra를 통해 다른 webView 액티비티로 파싱한 값중 URL을 보내주었습니다.
하지만 항상 클릭해서 인텐트로 넘어갈때마다 마지막 줄만 인식을 하더군요, 각 클릭한 리스트 아이템마다 다른
값들이 넘어가야하는데 어느 것을 클릭해도 마지만 줄만 인식해서 걔만 보낸답니다 ㅠ
여기저기 찾아보고 있는데 초보라 그런지 힘드네요 ㅠ (검색해봤는데, 여러 분들이 간단히 설명을 써두셨는데, 너무 간단해서
제가 잘 이해를 못하고 있습니다 ㅠ)
어떻게 해야 할까요?
2012.06.07 18:17:10
저.. 자답입니다 .
String name = ((TextView) view.findViewById(R.id.NAME)).getText().toString();
String url= ((TextView) view.findViewById(R.id.URL)).getText().toString();
Intent in = new Intent(getApplicationContext(), webView.class);
in.putExtra("FOOD_NAME", name);
in.putExtra("URL", url);
startActivity(in);
이렇게 넘기니깐 잘 되더라구요 ㅎㅎ;;;
arraylist.get(position) 은 어떻게 하는거죠???




리스트에 뿌리는 정보를 arraylist에 넣어두고
이벤트 콜백에서 arraylist.get(position)하면 해당 url이 나오겟죠?..