如何使用Spinner从列表中获取多个数据?
我希望从我的旋转器那里获得更多必需的数据,但无法获得。这是我的列表[“ id”:“ 1”,“ title”:“ test 1”,“ tableId”:“ my_value”]
和我的旋转器显示table>表给用户,我想要
my_value
从列表中。但是我想向用户展示表
。我该如何实现?
表
在下拉
上正确显示,但项目不是选择,并且无法获得my_value
data。<<<<<。 /strong>
这是我的模型类
public class myModel {
String id;
String title;
String tableid;
public String getTitle() {
return title;
}
public String getTableId() {
return tableid;
}
public String getId() {
return id;
}
@NonNull
@Override
public String toString() {
return getTitle();
}
}
这是旋转器xml
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:layout_weight="1" />
这是旋转器代码
ArrayList<myModel> dropList = new ArrayList<>();
//DropList data is like this = ["id":"1","title":"test 1","tableid":"my_value"]
ArrayAdapter<myModel> adapter = new ArrayAdapter<>(this, R.layout.my_spinner_textview, dropList); // my_spinner_textview is same as simple_spinner_item_view
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinCategory.setAdapter(adapter);
spinCategory.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long id) {
myModel modelcls = dropList.get(position);
String val= modelcls.getTableId();
String val2= modelcls.getTitle();
Toast.makeText(ShayariEditor.this, "value1: "+val, Toast.LENGTH_SHORT).show();
Toast.makeText(ShayariEditor.this, "value2: "+val2, Toast.LENGTH_SHORT).show();
adapter.notifyDataSetChanged();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
I want more required data from my Spinner but unable to get. This is my list ["id":"1","title":"test 1","tableid":"my_value"]
and my Spinner showing dropdown of table
to users and I want my_value
from list. But I want to show users to table
. How can I achieve this?
table
is properly showing on dropdown
but item is not selecting
and unable to get my_value
data.
This is my Model Class
public class myModel {
String id;
String title;
String tableid;
public String getTitle() {
return title;
}
public String getTableId() {
return tableid;
}
public String getId() {
return id;
}
@NonNull
@Override
public String toString() {
return getTitle();
}
}
This is spinner XML
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:layout_weight="1" />
This is Spinner Code
ArrayList<myModel> dropList = new ArrayList<>();
//DropList data is like this = ["id":"1","title":"test 1","tableid":"my_value"]
ArrayAdapter<myModel> adapter = new ArrayAdapter<>(this, R.layout.my_spinner_textview, dropList); // my_spinner_textview is same as simple_spinner_item_view
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinCategory.setAdapter(adapter);
spinCategory.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long id) {
myModel modelcls = dropList.get(position);
String val= modelcls.getTableId();
String val2= modelcls.getTitle();
Toast.makeText(ShayariEditor.this, "value1: "+val, Toast.LENGTH_SHORT).show();
Toast.makeText(ShayariEditor.this, "value2: "+val2, Toast.LENGTH_SHORT).show();
adapter.notifyDataSetChanged();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我找到了解决方案。
只需创建一个带有不同数据的自定义数组,就可以使用OnItemselected的
位置
轻松访问它们。它的工作原理很好。您将使用相同的旋转器获得2个数据。
I found the solution.
Just create a custom Array with different data and can easily access them using
position
of onItemSelected.It works very fine. You'll achieve 2 data with the same spinner.