Итак, все, что я нашел, это использование файла strings.xml для заполнения счетчика. Что я хочу сделать, так это заполнить счетчик на основе информации, которую я получаю из ответа JSON. У меня есть следующий код, который я использовал для заполнения таблицы, но изменил его для этого. Однако мой счетчик по-прежнему пуст, и я не получаю никаких ошибок, кроме D/ViewRootImpl: #3 mView = null
Вот код для заполнения счетчика:
public class SecondFragment extends Fragment implements APIRequestsUtil.APIRequestResponseListener
{
View myView;
Map<String, Route> drives;
private ArrayAdapter<Integer> adapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
myView = inflater.inflate(R.layout.second_layout, container, false);
APIRequestsUtil.setOnNetWorkListener(this);
return myView;
}
private void populateView() {
this.getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
drives = APIRequestsUtil.getRoutes();
Spinner spinner = (Spinner) myView.findViewById(R.id.spinner);
int driveNum = 0;
for (Map.Entry drive : drives.entrySet()) {
TableRow tr = new TableRow(getActivity());
Route route = (Route) drive.getValue();
tr.setId(driveNum++);
//tr.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
spinner.setId(driveNum);
}
}
});
}
//@Override
public void onFailure(Request request, Throwable throwable) {
}
//@Override
public void onResponse(Response response) {
populateView();
}
}
Вот мой XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:id="@+id/spinner"/>
</RelativeLayout>