如何解决我想在 Spinner 上的 Fragment 中添加 Itemclicklister
这是主片段 片段:
private void getStock() {
dialog.show();
Retrofit retrofit = RetrofitClient.getRetrofitInstance();
apiInterface api = retrofit.create(apiInterface.class);
Call<List<Blocks>>call = api.getVaccineBlocks();
call.enqueue(new Callback<List<Blocks>>() {
@Override
public void onResponse(Call<List<Blocks>>call,Response<List<Blocks>> response) {
if (response.code() == 200) {
block = response.body();
spinnerada();
dialog.cancel();
}else{
dialog.cancel();
}
}
@Override
public void onFailure(Call<List<Blocks>> call,Throwable t) {
dialog.cancel();
}
});
}
private void spinnerada() {
String[] s = new String[block.size()];
for (int i = 0; i < block.size(); i++) {
s[i] = block.get(i).getBlockName();
final ArrayAdapter a = new ArrayAdapter(getContext(),android.R.layout.simple_spinner_item,s);
a.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//Setting the ArrayAdapter data on the Spinner
spinner.setAdapter(a);
}
}
这是块模型 模型:
package com.smmtn.book.models;
import java.io.Serializable;
public class Blocks implements Serializable {
public String id;
public String blockName;
public String blockSlug;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getBlockName() {
return blockName;
}
public void setBlockName(String blockName) {
this.blockName = blockName;
}
public String getBlockSlug() {
return blockSlug;
}
public void setBlockSlug(String blockSlug) {
this.blockSlug = blockSlug;
}
}
这里我需要使用 blockslug 的 onitemclick,请任何人都可以提供帮助,我是 android 新手,所以我需要一些示例。点击时我想使用 blockslug 并使用该 blockslug 加载另一种方法,就像将从你那里获取数据“http:/ /example.com/block/"+blockslug 我想从选定的块中获取块 我希望伙计们我会得到帮助 对不起,我的英语不好,
解决方法
首先,您需要实现setOnItemSelectedListener
。请参阅此https://stackoverflow.com/a/20151596/9346054
一旦你选择了这个项目,你就可以通过创建一个新的方法来调用它们。示例如下
public void onItemSelected(AdapterView<?> parent,View view,int pos,long id) {
Toast.makeText(parent.getContext(),"OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),Toast.LENGTH_SHORT).show();
final String itemSelected = parent.getItemAtPosition(pos).toString();
showBlockSlug(itemSelected);
}
然后,在方法 showBlockSlug()
处,您可以调用 Retrofit。
private void showBlockSlug(final String blockslug){
final String url = "http://example.com/block/"+ blockslug;
//Do your stuff...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。