代码之家  ›  专栏  ›  技术社区  ›  Harry Moreno

错误:找不到符号类GithubRepoAdapter

  •  0
  • Harry Moreno  · 技术社区  · 5 年前

    尝试导入在与当前文件相邻的文件中定义的类时出错。代码可在 https://github.com/morenoh149/HarryLearnsAndroid/blob/master/HttpDemo/app/src/main/java/com/harrymoreno/httpdemo/MainActivity.java#L44

    // MainActivity.java
    package com.harrymoreno.httpdemo;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.ListView;
    import android.widget.Toast;
    
    import java.util.List;
    
    import retrofit2.Call;
    import retrofit2.Callback;
    import retrofit2.Response;
    import retrofit2.Retrofit;
    import retrofit2.converter.gson.GsonConverterFactory;
    
    import com.harrymoreno.httpdemo.GitHubRepoAdapter;
    
    public class MainActivity extends AppCompatActivity {
    
        private ListView listView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            listView = (ListView) findViewById(R.id.pagination_list);
    
            Retrofit.Builder builder = new Retrofit.Builder()
                    .baseUrl("https://api.github.com/")
                    .addConverterFactory(GsonConverterFactory.create());
    
            Retrofit retrofit = builder.build();
    
            GithubClient client = retrofit.create(GithubClient.class);
            Call<List<GithubRepo>> call = client.reposForUser("morenoh149");
    
            call.enqueue(new Callback<List<GithubRepo>>() {
                @Override
                public void onResponse(Call<List<GithubRepo>> call, Response<List<GithubRepo>> response) {
                    List<GithubRepo> repos = response.body();
    
                    // error error: cannot find symbol class GithubRepoAdapter
                    listView.setAdapter(new GithubRepoAdapter(MainActivity.this, repos));
                }
    
                @Override
                public void onFailure(Call<List<GithubRepo>> call, Throwable t) {
                    Toast.makeText(MainActivity.this, "error :(", Toast.LENGTH_SHORT).show();
                }
            });
        }
    }
    

    // GitHubRepoAdapter.java
    package com.harrymoreno.httpdemo;
    
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.TextView;
    
    import java.util.List;
    
    public class GitHubRepoAdapter extends ArrayAdapter<GithubRepo> {
    
        private Context context;
        private List<GithubRepo> values;
    
        public GitHubRepoAdapter(Context context, List<GithubRepo> values) {
            super(context, R.layout.list_item_pagination, values);
    
            this.context = context;
            this.values = values;
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View row = convertView;
    
            if (row == null) {
                LayoutInflater inflater =
                        (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                row = inflater.inflate(R.layout.list_item_pagination, parent, false);
            }
    
            TextView textView = (TextView) row.findViewById(R.id.list_item_pagination_text);
    
            GithubRepo item = values.get(position);
            String message = item.getName();
            textView.setText(message);
    
            return row;
        }
    }
    
    1 回复  |  直到 5 年前
        1
  •  0
  •   John Joe Mayank Nema    5 年前

    你在那条错误线上有拼写错误。

    GitHubRepoAdapter ,不是 GithubRepoAdapter