如何使用微调器更改 json 数组的索引值?
Posted
技术标签:
【中文标题】如何使用微调器更改 json 数组的索引值?【英文标题】:How to change the index value of json array using spinner? 【发布时间】:2020-11-15 02:04:14 【问题描述】:@Override
public void onResponse(String response)
try
JSONArray jArray = new JSONArray(response.toString());
if (jArray.length() > 2)
JSONObject json_obj = jArray.getJSONObject(2);
我想使用微调器更改getJSONObject(2)
的索引值。
【问题讨论】:
"更改getJSONObject(2)
的值" 你的意思是更改2
参数?
是的,我可以使用微调器或其他任何我想在不同状态下显示 covid 案例的东西来更改它
【参考方案1】:
您可以查看此示例项目:
MainActivity.java
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Spinner spinner = findViewById(R.id.spinner);
Button button = findViewById(R.id.button);
// set spinner values
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.json_options, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
// button click listener
button.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
// spinner.getSelectedItemPosition() - to get which item is chosen in spinner, indexed from 0
Log.d("Info", "Selected JSON: " + (spinner.getSelectedItemPosition() + 1));
);
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:orientation="vertical"
tools:context=".MainActivity">
<Spinner
android:id="@+id/spinner"
android:layout_
android:layout_ />
<Button
android:id="@+id/button"
android:layout_
android:layout_
android:text="Do sth with value from spinner" />
</LinearLayout>
字符串.xml
<string-array name="json_options">
<item>JSON One</item>
<item>JSON Two</item>
<item>JSON Three</item>
</string-array>
所以我认为在你的情况下它看起来像这样:
@Override
public void onResponse(String response)
try
JSONArray jArray = new JSONArray(response.toString());
if (jArray.length() > 2)
JSONObject json_obj = jArray.getJSONObject(spinner.getSelectedItemPosition());
【讨论】:
以上是关于如何使用微调器更改 json 数组的索引值?的主要内容,如果未能解决你的问题,请参考以下文章