Java 如何在Listview中使用2显示json数据

Java 如何在Listview中使用2显示json数据,java,android,json,listview,retrofit2,Java,Android,Json,Listview,Retrofit2,我是Android编程的新手:( 我不知道如何为show data设置Listview 如何在Listview中显示数据 MainActivity.java public class MainActivity extends AppCompatActivity { private static final String TAG = "fong"; ListView listView; @Override protected void onCreate(Bundle sav

我是Android编程的新手:(

我不知道如何为show data设置Listview 如何在Listview中显示数据

MainActivity.java

public class MainActivity extends AppCompatActivity {


  private static final String TAG = "fong";
  ListView listView;


  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    listView = (ListView) findViewById(R.id.listView);

    Retrofit retrofit = new Retrofit.Builder()
              .baseUrl(UdacityService.BASE_URL)
              .addConverterFactory(GsonConverterFactory.create())
              .build();

    UdacityService service = retrofit.create(UdacityService.class);
    Call<UdacityCatalog> requestCatalog = service.listCatalog();

    requestCatalog.enqueue(new Callback<UdacityCatalog>() {
      @Override
      public void onResponse(Call<UdacityCatalog> call, Response<UdacityCatalog> response) {
        if (!response.isSuccessful()) {

          Log.i(TAG,"Errorr: " +response.code());
        }else{
          UdacityCatalog catalog =response.body();


          for (Course c : catalog.courses){
            Log.i(TAG,c.title);

            Log.i(TAG,"--------------");

          }
        }
      }

      @Override
      public void onFailure(Call<UdacityCatalog> call, Throwable t) {
        Log.e(TAG,"Errorr: " + t.getMessage());
      }
    });

  }
}
谢谢你的帮助:)

列一张当然的清单

List<Course> courseList = catalog.courses;
当然可以列一张清单

List<Course> courseList = catalog.courses;

这很简单,首先您必须在布局中添加ListView组件:

<ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
您必须创建一个包含所有标题的列表:

List<String> courses = new ArrayList<>();
  for (Course c : catalog.courses){
          courses.add(c.title);
          }
最后,在
列表视图中添加适配器:

listview.setAdapter(adapter);

这很简单,首先您必须在布局中添加ListView组件:

<ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
您必须创建一个包含所有标题的列表:

List<String> courses = new ArrayList<>();
  for (Course c : catalog.courses){
          courses.add(c.title);
          }
最后,在
列表视图中添加适配器:

listview.setAdapter(adapter);

谢谢你的帮助!但是我在
this.courses.add(c.title)行中得到了错误
courses
是无法解析符号“courses”您必须在活动中声明ListView变量,您可以更改它的名称。尝试删除“this”让我们一起来。@ARR.s如果我更改了答案,请看一看谢谢您的帮助!但是我在
this.courses.add(c.title)行中得到了错误
courses
是无法解析符号'courses',您必须在活动中声明ListView变量,您可以更改它的名称。尝试删除“this”让我们一起来。@ARR.s如果我更改了答案,请看一看