问题描述
我是 android java 开发的新手,正在寻找 Retrofit 2 库的一些支持。
我正在尝试使用来自 API 的内容填充仪表板上的回收站视图,目前我发现很难克服这个障碍。
对此事的任何帮助将不胜感激
因此,从我看到的日期为 2020 年 4 月的教程中,为了能够获得 JSON 响应,您需要以下内容:
在这种情况下,我基本上想要实现的是我需要通过我的回收者视图 3 件事:
而且我需要这些“卡片”将用户带到某个活动,所以假设用户点击了“类别 1”,我需要该用户转到那个受人尊敬的活动。
UserDashboard.java
private static final String TAG = "Started User Dashboard Successfully";
//Variables
String shareBody = "This is a Great App,TENCIL APP COMING SOON";
Button btnShare;
ImageView menuIcon;
LinearLayout contentView;
static float END_SCALE = 0.7f;
RecyclerView featuredRecycler,categoriesRecycler;
RecyclerView.Adapter adapter;
CategoriesAdapter categoriesAdapter;
//Drawer Menu
DrawerLayout drawerLayout;
NavigationView navigationView;
Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate ( savedInstanceState );
setContentView ( R.layout.userdashboard );
//Hooks
menuIcon = findViewById ( R.id.menu_icon );
contentView = findViewById ( R.id.content );
featuredRecycler = findViewById ( R.id.featured_recycler );
categoriesRecycler = findViewById ( R.id.categories );
featuredRecycler ();
categoriesRecycler ();
getAllCategories ();
//Menu Hooks
drawerLayout = findViewById ( R.id.drawer_layout );
navigationView = findViewById ( R.id.navigation_view );
menuIcon = findViewById ( R.id.menu_icon );
contentView = findViewById ( R.id.content );
navigationDrawer ();
}
public void getAllCategories(){
Call<List<CategoriesResponse>> categorieslist = apiclient.getUserService ().getAllCategories ();
categorieslist.enqueue ( new Callback<List<CategoriesResponse>> () {
@Override
public void onResponse(Call<List<CategoriesResponse>> call,Response<List<CategoriesResponse>> response) {
if (response.isSuccessful ()) {
Log.e ( "success",response.body ().toString () );
}
}
@Override
public void onFailure(Call<List<CategoriesResponse>> call,Throwable t) {
Log.e ( "failure",t.getLocalizedMessage () );
}
} );
}
private void categoriesRecycler() {
/* ArrayList<CategoriesHelperClass> categoriesHelperClasses = new ArrayList<> ();
categoriesHelperClasses.add ( new CategoriesHelperClass ( R.drawable.tencilw,"Social Media" ) );
categoriesHelperClasses.add ( new CategoriesHelperClass ( R.drawable.piggy,"Finance Companies" ) );
categoriesHelperClasses.add ( new CategoriesHelperClass ( R.drawable.pws,"Tech Companies" ) );
categoriesHelperClasses.add ( new CategoriesHelperClass ( R.drawable.analysisw,"FinTech Companies" ) );
categoriesHelperClasses.add ( new CategoriesHelperClass ( R.drawable.home,"Local" ) ); */
categoriesRecycler.setHasFixedSize ( true );
categoriesRecycler.setLayoutManager ( new linearlayoutmanager ( this,linearlayoutmanager.HORIZONTAL,false ) );
categoriesRecycler.setAdapter ( adapter );
}
//Setting Featured Recylcer design view
private void featuredRecycler() {
featuredRecycler.setHasFixedSize ( true );
featuredRecycler.setLayoutManager ( new linearlayoutmanager ( this,false ) );
ArrayList<FeaturedHelperClass> featuredBusinesses = new ArrayList<> ();
featuredBusinesses.add ( new FeaturedHelperClass ( R.drawable.pwsb,"Provide","We are a Company that designs websites and apps. Learn More Here:" ) );
featuredBusinesses.add ( new FeaturedHelperClass ( R.drawable.tencilw,"Tencil","“Tencil was created with the aim of helping young adults learn more about the digital marketing industry”" ) );
featuredBusinesses.add ( new FeaturedHelperClass ( R.drawable.search_place,"Want to be a Featured Business?","Contact Us Now!" ) );
adapter = new FeaturedAdapter ( (featuredBusinesses) );
featuredRecycler.setAdapter ( adapter );
}
类别适配器.java
private Context mContext;
private List<CategoriesResponse> categoriesResponseList;
public CategoriesAdapter(ArrayList<CategoriesHelperClass> categoriesHelperClasses,Context mContext) {
this.mContext = mContext;
}
public void setData(List<CategoriesResponse> categoriesResponseList) {
this.categoriesResponseList = categoriesResponseList;
notifyDataSetChanged ();
}
//Returns Categories View Dynamically
public CategoriesAdapter.FeaturedViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType) {
mContext = parent.getContext ();
return new CategoriesAdapter.FeaturedViewHolder (LayoutInflater.from ( mContext ).inflate ( R.layout.categories_card_design,parent,false ));
}
@Override
public void onBindViewHolder(@NonNull FeaturedViewHolder holder,int position) {
CategoriesHelperClass categoriesHelperClass = categoriesResponseList.get ( position );
holder.image.setimageResource ( categoriesHelperClass.getimage () );
holder.title.setText ( categoriesHelperClass.getTitle () );
}
@Override
public int getItemCount() {
return categoriesResponseList.size ();
}
//HOLDS VIEWS
public static class FeaturedViewHolder extends RecyclerView.ViewHolder {
RelativeLayout categoriesCard;
ImageView image;
TextView title;
public FeaturedViewHolder(@NonNull View itemView) {
super ( itemView );
//HOOKS
categoriesCard = itemView.findViewById ( categories_card );
image = itemView.findViewById ( R.id.categories_image );
title = itemView.findViewById ( R.id.categories_title );
}
}
CategoriesResponse.java
public class CategoriesResponse extends CategoriesHelperClass {
private int cat_id;
private String category;
public CategoriesResponse(int image,String title) {
super ( image,title );
}
public int getCat_id() {
return cat_id;
}
public void setCat_id(int cat_id) {
this.cat_id = cat_id;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
@Override
public String toString() {
return "CategoriesResponse{" +
"cat_id=" + cat_id +
",category='" + category +
'}';
}
}
UserService.java
public interface UserService {
@POST("login.PHP?method=json")
@Headers({"Content-Type: application/json","Accept: application/json"})
Call<LoginResponse> userLogin(
@Body LoginResponse loginResponse
);
@POST("registration.PHP?method=json")
@Headers({"Content-Type: application/json","Accept: application/json","X-API-KEY: ee4183831d9c0fd8794c9161a25c36b6"})
Call<RegisterResponse> registerUsers(
@Body RegisterRequest registerRequest
);
@GET("ivgen.PHP")
Call<RegisterRequest> ivgen(@Body RegisterRequest ivgen);
@GET("catsGet.PHP")
Call<List<CategoriesResponse>> getAllCategories();
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)