Получить позицию массива в Onclick

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

После того, как я объявляю свой String array в моем текущем классе, я пробую .get(position), но он дает мне ошибку: Cannot resolve symbol get(int)

Вот мой getData.java

public class GetData {
Connection connect;
String ConnectionResult = "";
Boolean isSuccess = false;


public List<Map<String,String>> doInBackground() {

    List<Map<String, String>> data = null;
    data = new ArrayList<Map<String, String>>();
    try
    {
        ConnectionHelper conStr=new ConnectionHelper();
        connect =conStr.connectionclass();        // Connect to database
        if (connect == null)
        {
            ConnectionResult = "Check Your Internet Access!";
        }
        else
        {
            // Change below query according to your own database.
            String query = "select * from cc_rail";
            Statement stmt = connect.createStatement();
            ResultSet rs = stmt.executeQuery(query);
            while (rs.next()){
                Map<String,String> datanum=new HashMap<String,String>();
                datanum.put("NAME",rs.getString("RAIL_NAME"));

                datanum.put("PRICE",rs.getString("RAIL_UNIT_PRICE"));

                datanum.put("RANGE",rs.getString("RAIL_RANGE"));

                datanum.put("SUPPLIER",rs.getString("RAIL_SUPPLIER"));

                datanum.put("SIZE",rs.getString("RAIL_SIZE"));
                data.add(datanum);
            }


            ConnectionResult = " successful";
            isSuccess=true;
            connect.close();
        }
    }
    catch (Exception ex)
    {
        isSuccess = false;
        ConnectionResult = ex.getMessage();
    }

    return data;
}

и вот мой mainactivity.java, который заполняет мой список и мой код диалога:

            List<Map<String,String>> MyData = null;
            GetValence mydata =new GetValence();
            MyData= mydata.doInBackground();
           final String[] fromwhere = { "NAME","PRICE","SIZE","SUPPLIER","RANGE" };

            int[] viewswhere = {R.id.Name_txtView , R.id.price_txtView,R.id.size_txtView};

            ADAhere = new SimpleAdapter(getActivity(), MyData,R.layout.list_valence, fromwhere, viewswhere);

            list.setAdapter(ADAhere);



    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        private ImageView icon;
        private String fullName,partyName;

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            /** To change selected state view */
            view.setSelected(true);
            String Slecteditem = fromwhere.get(position);

я получаю свою ошибку от String Slecteditem = fromwhere.get(position);

какую ошибку вы получаете ??

Hitesh Anshani 19.07.2018 16:05

@ D-johnAnshani Cannot resolve symbol get(int)

Mohammedis271 19.07.2018 16:05

@ Mohammedis271 я добавил ответ, пожалуйста, посмотрите

Basil Battikhi 19.07.2018 16:17
0
3
91
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

fromWhere - это массив, и у него нет метода .get(), поскольку вы используете массив, тогда вам нужно получить доступ к значению по индексу напрямую, как formWhere[position]. Если вы хотите использовать arrayList вместо обычного массива, вы можете использовать метод .get()

Другие вопросы по теме