Spinner не показывает данные - PullRequest
0 голосов
/ 30 сентября 2018

Я использую счетчик в моей программе, и он получает данные из моей базы данных SQL Azure, но когда я щелкнул раскрывающийся список, ничего не происходит.Вот мой код

    try {
        ConnectionHelper conStr = new ConnectionHelper();
        connect = conStr.connectionclass();
        String query = "select * from fabric";
        Statement stmt = connect.createStatement();
        ResultSet rs = stmt.executeQuery(query);
        ArrayList<String> data = new ArrayList<String>();
        while (rs.next()) {
            String id = rs.getString("FABRIC_NAME");
            data.add(id);
        }
        String[] array = data.toArray(new String[0]);
        ArrayAdapter NoCoreAdapter = new ArrayAdapter(this,
                android.R.layout.simple_list_item_1, data);
        Fabric.setAdapter(NoCoreAdapter);
    } catch (SQLException e) {
        e.printStackTrace();
    }
    Fabric.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                                   int position, long id) {
            String name = Fabric.getSelectedItem().toString();
            Toast.makeText(Calc_140_plain.this, name, Toast.LENGTH_SHORT)
                    .show();
        }
        public void onNothingSelected(AdapterView<?> parent) {
        }
    });

Кажется, я не могу найти ошибку и в LogCat

1 Ответ

0 голосов
/ 30 сентября 2018

Убедитесь, что в вашем массиве данных есть некоторый элемент

while (rs.next()) {
            String id = rs.getString("FABRIC_NAME");
            data.add(id);
        }
    Log.d("data","size:"+data.size());

Размер печати через некоторое время, чтобы проверить, что данные не пусты.

Попробуйте:

ArrayAdapter NoCoreAdapter = new ArrayAdapter<String>(context,
                android.R.layout.simple_list_item_1, data);

из:

ArrayAdapter NoCoreAdapter = new ArrayAdapter(this,
                android.R.layout.simple_list_item_1, data);
...