Listview и 2-й XML - PullRequest
       36

Listview и 2-й XML

1 голос
/ 22 октября 2011

У меня есть файл list_view_row xml.List_view_row.xml содержит поля editText, я хочу использовать их для отображения элементов (собранных SimpleAdapter) в списке в моей основной программе (Android.java).Eclipse не позволит мне скомпилировать код, так как мне нужно объявить эти поля editText в Android.java

 int[] to = new int[] { R.id.editText1, R.id.editText1 };

Как мне это сделать?Заранее благодарим.

The list_view_row.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal" 
  android:width="100dp" 
  android:height="100dp"
>

<EditText> 
 android:inputType="textMultiLine"  
 android:id="@+id/editText1"  
 android:layout_height="wrap_content"  
 android:text="edit1"  
 android:layout_width="110dp"> 
</EditText>  

<EditText> 
 android:layout_height="wrap_content"  
 android:layout_width="110dp"  
 android:id="@+id/editText2"  
 android:text="edit2" 
 android:inputType="textMultiLine" 
 android:layout_marginLeft="50dp" 
</EditText> 

</LinearLayout>

Код в main.xml:

@Override 
    protected void onPostExecute(String result) { 
        //publishProgress(false); 
        // create the grid item mapping
        ListView kp = (ListView)findViewById(R.id.kpn);

        String[] from = new String[] {"col_1", "col_2"};
        int[] to = new int[] { R.id.editText1, R.id.editText1 }; <<< ??????????

        List<HashMap<String, String>> fillMaps = new ArrayList<HashMap<String, String>>();
        HashMap<String, String> map = new HashMap<String, String>();

        Document doc = Jsoup.parse(kpn);
        Elements tdsFromSecondColumn = doc.select("table.personaltable td:eq(0)");
        Elements tdsFromSecondColumn1 = doc.select("table.personaltable td:eq(1)"); 

        for (Element tdFromSecondColumn : tdsFromSecondColumn) {
            map.put("col_1", tdFromSecondColumn.text()); 
            fillMaps.add(map);

            System.out.println("Hashmap: " + map);
            System.out.println(tdFromSecondColumn.text()); 

        } 
        for (Element tdFromSecondColumn1 : tdsFromSecondColumn1) {
            map.put("col_2", tdFromSecondColumn1.text());
            fillMaps.add(map);

            System.out.println("Hashmap: " + map);
            System.out.println(tdFromSecondColumn1.text());
        }

        SimpleAdapter adapter = new SimpleAdapter(AndroidLogin.this, fillMaps, R.layout.list_view_row, from, to); 
        kp.setAdapter(adapter);

1 Ответ

1 голос
/ 22 октября 2011

Ваш XML неверен, вот правильный формат:

<EditText android:inputType="textMultiLine"  
 android:id="@+id/editText1"  
 android:layout_height="wrap_content"  
 android:text="edit1"  
 android:layout_width="110dp"/>

После того, как вы исправите это, соберите свой проект, и в коде должны быть распознаны R.id.editText1 и R.id.editText2.

РЕДАКТИРОВАТЬ: Подсказка - перейдите в меню вашего проекта в верхней части, а затем вниз "Автоматическая сборка".Это приведет к созданию вашего проекта после сохранения файла (java / xml).После того, как вы измените XML и сохраните его, он создаст и сделает ваш ресурс editText1 доступным для доступа с помощью R.id.editText1.

...