2012-03-14 72 views
0

我的代码如下Android的ListView和EDITTEXT箱

布局1

<?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> 

我的Java代码

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 2012-03-14 15:09:37

+0

编辑框与列表视图一起显示。我希望编辑框只能在开头显示一次,而在下面显示。 – user1092042 2012-03-14 15:14:50

回答

1

那么,你得添加的EditText作为一个列表视图头不ListView项

创建下面的代码为翘楚布局,然后将此视图添加到标题。

<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 2012-03-15 05:42:03

+0

之前将它添加到列表视图中。 – Mayank 2012-03-15 06:07:01

+0

你可以请告诉我这样做的代码。如果我想在编辑框旁边添加一个按钮,如何将它们两个充气到一起 – user1092042 2012-03-15 10:34:10