gpt4 book ai didi

android - 在 Recycler 查看项目点击时触发 volley 请求

转载 作者:行者123 更新时间:2023-11-29 17:01:12 24 4
gpt4 key购买 nike

我是 android 的新手,尝试构建一个简单的应用程序。此应用程序由 3 个页面、类别、产品和详细产品组成。类别页面使用 voley 从 API 请求数据并将其显示在回收站 View 中。我的问题是,我如何在回收者查看项目点击时触发另一个截击请求(当有人点击一个类别时)。任何示例代码或教程链接将不胜感激。谢谢。

最佳答案

主要 Activity

public class MainActivity extends AppCompatActivity {
private RecyclerView mRecyclerView;
private RecyclerView.Adapter mAdapter;
private RecyclerView.LayoutManager mLayoutManager;
List<movie> mDataset;
public static final String JSON_URL = "url"


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
mRecyclerView.setHasFixedSize(true);


mLayoutManager = new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false);
mRecyclerView.setLayoutManager(mLayoutManager);
sendRequest();





}

private void sendRequest(){


StringRequest stringRequest = new StringRequest(JSON_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
JSONParse pj = new JSONParse(json);
pj.parseJSON();
mDataset = pj.getMovies();
mAdapter = new myadapter(mDataset);
mRecyclerView.setAdapter(mAdapter);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this,error.getMessage(),Toast.LENGTH_LONG).show();
}
});

RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}


}

我的适配器.java

public class myadapter extends RecyclerView.Adapter<myadapter.ViewHolder> {
Context context;


private List<movie> mDataset;
public class ViewHolder extends RecyclerView.ViewHolder {

public TextView text;
public ImageView imageView;


public ViewHolder(View v) {
super(v);
text = (TextView) v.findViewById(R.id.text);
imageView = (ImageView) v.findViewById(R.id.icon);


}
}
public void add(int position, movie item) {
mDataset.add(position, item);
notifyItemInserted(position);
}
public void remove(movie item) {
int position = mDataset.indexOf(item);
mDataset.remove(position);
notifyItemRemoved(position);
}
public myadapter(List<movie> myDataset) {
mDataset = myDataset;
}
@Override
public myadapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {

View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyler_card, parent, false);

ViewHolder vh = new ViewHolder(v);
return vh;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {

holder.text.setText(mDataset.get(position).getName());





Glide.with(holder.imageView.getContext()).load(mDataset.get(position).getUrl()).into(holder.imageView);



}
@Override
public int getItemCount() {
return mDataset.size();
}

}

关于android - 在 Recycler 查看项目点击时触发 volley 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42883802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com