2012-03-14 5 views
0

Мой код выглядит следующим образомAndroid ListView и EditText коробка

Layout1

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <ListView 
     android:id="@+id/mylist" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 
    </ListView> 


</LinearLayout> 

раскладка 2

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

     <EditText android:id="@+id/newmessagecontent" 
       android:layout_height="wrap_content" 
       android:singleLine="false" 
       android:gravity="top" 
       android:layout_width="250dp" 
       android:layout_alignParentTop="true" 
        /> 

</LinearLayout> 

Мой ява код

public class CheckitoutActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.row); 
     ListView listView = (ListView) findViewById(R.id.mylist); 
     //EditText view = (EditText)findViewById(R.id.newmessagecontent); 
     //listView.addHeaderView(view, null, true); 
     listView.setOnItemClickListener(new OnItemClickListener() { 



      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
       // TODO Auto-generated method stub 
       Toast.makeText(getApplicationContext(), 
         "Click ListItem Number " + position, Toast.LENGTH_LONG) 
         .show(); 

      } 
     }); 



     String[] values = new String[] { "Android", "iPhone", "WindowsMobile", 
      "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X", 
      "Linux", "OS/2" }; 


     // First paramenter - Context 
     // Second parameter - Layout for the row 
     // Third parameter - ID of the View to which the data is written 
     // Forth - the Array of data 
     final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, android.R.id.text1, values); 

     // Assign adapter to ListView 
     listView.setAdapter(adapter); 


    } 
} 

Я хочу окно редактирования сначала разобраться. Пользователь должен ввести данные, а затем мое приложение будет хранить требуемые данные в массиве строк и затем отображать его. Как я это делаю?

+1

так в чем проблема? – Mayank

+0

Отображается окно редактирования вместе со списком. Я хочу, чтобы поле редактирования отображалось только один раз в начале и список ниже. – user1092042

ответ

1

хорошо, то вам нужно добавить EditText как заголовок ListView не пункт списке следует

создать следующий код в туалет. layout, затем добавьте это представление в заголовок.

<TableLayout 
    android:layout_weight="0" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 

    <TableRow> 
     <EditText android:id="@+id/newmessagecontent" 
      android:layout_height="wrap_content" 
      android:singleLine="false" 
      android:gravity="top" 
      android:layout_width="250dp" 
      android:layout_alignParentTop="true" 
       /> 

     <Button android:layout_height="wrap_content" 
      android:id="@+id/sendmessage" 
      android:text="Send" 
      android:layout_width="wrap_content" 
      /> 
    </Table> 
     </TableLayout> 



EditText view = (EditText)findViewById(R.id.....); 
listView.addHeaderView(view, null, true); 

UPDATE

здесь

ListView lv = getListView(); 
LayoutInflater inflater = getLayoutInflater(); 
ViewGroup header = (ViewGroup)inflater.inflate(R.layout.header, lv, false); //header is above XML code 
lv.addHeaderView(header, null, false); 
+0

Он продолжает бросать исключение в listview.setAdapter (..), когда я добавляю текст редактирования в виде заголовка. Я отредактировал вопрос. Пожалуйста, взгляните на – user1092042

+0

, вы должны раздуть заголовок, прежде чем добавлять его в список. – Mayank

+0

Не могли бы вы рассказать мне код, чтобы сделать это. Что, если бы я хотел добавить кнопку рядом с полем редактирования, как бы я раздул их обоих? – user1092042