2017-11-02 10 views
-1

이 경우 ListItem에 문자열을 추가하려고 할 때이 문제가 발생합니다.이 작업을 수행하려면이 tutorial을 따르십시오. 나는 비디오가 말한 것과 똑같은 일을했지만 여전히 'ListItem에서 java.lang.String에 적용 할 수 없습니다.'오류가 발생하며 이유를 이해하지 못합니다. 여기에 내 코드입니다 :In ListItem을 java.lang.String에 적용 할 수 없습니다. android

public class ListScientistsFragment extends Fragment { 


private final String TAG = "ListScientistsFragment"; 
private static final String URL_DATA = "http://jsonplaceholder.typicode.com/photos"; 

private String[] scientistNames = {"Marie Curie","Thomas Edison","Albert Einstein","Michael Faraday","Galileo Galilei", 
     "Stephen Hawking","Johannes Kepler","Issac Newton","Nikola Tesla"}; 
private String[] birthYear = {"1867","1847","1879","1791","1564","1942","1571","1643","1856"}; 
private String[] deathYear = {"1934","1931","1955","1867","1642","Present","1630","1727","1943"}; 
private int[] image = {R.drawable.curie,R.drawable.edison,R.drawable.einstein,R.drawable.faraday,R.drawable.galileo,R.drawable.hawking,R.drawable.kepler,R.drawable.newton,R.drawable.tesla}; 

private ArrayList<Scientist> mScientists; 
private RecyclerView mScientistRecyclerView; 
private List<LauncherActivity.ListItem> listItems; 
private ScientistAdapter mAdapter; 
public ImageView mImageView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    mScientists = new ArrayList<>(); 
    listItems = new ArrayList<>(); 
    for(int i =0;i<scientistNames.length;i++){ 
     Scientist s = new Scientist(); 
     s.setName(scientistNames[i]); 
     s.setBirthYear(birthYear[i]); 
     s.setDeathYear(deathYear[i]); 
     mScientists.add(s); 
    } 
    loadImagesToView(); 
    super.onCreate(savedInstanceState); 
} 

private void loadImagesToView() { 
    final ArrayList<String> list = new ArrayList<String>(); 
    StringRequest stringRequest = new StringRequest(Request.Method.GET, 
      URL_DATA, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 
        try { 
         JSONArray jsonarray = new JSONArray(response); 
         for(int i=0;i<jsonarray.length();i++) { 
          JSONObject o = jsonarray.getJSONObject(i); 
//HERE'S MY PROBLEM ------------------------------------ 
           LauncherActivity.ListItem item; 
           item = new LauncherActivity.ListItem(
             o.getString("url") 
           ); 
//-------------------------------------------- 
          listItems.add(item); 
         } 

        } catch (Exception e) { 
         e.printStackTrace(); 
        } 

       } 
      }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 

       } 
      } 
    ); 

난 그냥 다른 분야와 JSON 인 특정 URL_DATA에서지고있어 각 "URL"를 추가하고 싶지만, 내가 특별히 URL입니다 필요합니다. 이것을 RecyclerView에로드 할 것입니다. 당신이 이해하기를 바랍니다.

답변