如何使用微调器更改json数组的索引值


@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)的索引值。

您可以查看此示例项目:

主要活动.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_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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());
}
}
}

最新更新