안드로이드 News Api에서 url 가져오기
조회수 680회
news api에서 url 정보를 가져오고 싶습니다.
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
NewsData news = mDataset.get(position);
holder.TextView_title.setText(news.getTitle());
Uri uri = Uri.parse(news.getUrlToImage());
holder.ImageView_title.setImageURI(uri);
holder.news_link.......... // 이부분 어떻게 해야할지??
holder.rootView.setTag(position);
}
MyAdapter에서 news_link를 String으로 선언하고 onBindViewHolder에서 news_link를 어떻게 처리해야할지 모르겠습니다. link부분만 지우고 돌리면 다른건 다 잘 나옵니다.
public void getNews() {
final String url ="News Api Key";
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
final JSONObject jsonObject = new JSONObject(response);
final JSONArray arrayArticles = jsonObject.getJSONArray("articles");
List<NewsData> news = new ArrayList<>();
for(int i = 0, j = arrayArticles.length(); i < j; i++ ) {
final JSONObject obj = arrayArticles.getJSONObject(i);
Log.d("NEWS", obj.toString());
final NewsData newsData = new NewsData();
newsData.setTitle(obj.getString("title"));
newsData.setUrlToImage(obj.getString("urlToImage"));
newsData.setNews_link(obj.getString("url"));
news.add(newsData);
mAdapter = new MyAdapter(news, MainActivity.this, new View.OnClickListener() {
@Override
public void onClick(View v) {
Object obj = v.getTag();
if(obj != null) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(newsData.getNews_link()));
startActivity(intent);
}
}
});
}
...
MainActivity에서는 News Api의 정보를 받은 MyAdapter의 정보를 가져오도록 했습니다. News Api에서도 url을 제공해줘서 받아오는것만 하면 잘 될거같은데 받아올 때 어떻게 해야할지를 모르겠습니다. url은 다른것들처럼 View에 넣는게 없어서 String으로 선언했는데 onBindViewHolder에서 데이터 받아오는 처리를 어떻게 해야할지 모르겠습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력