想要在运行时在android中的列表中添加项目

时间:2012-06-07 07:19:41

标签: android

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
<EditText 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/speed"
    android:inputType="number"></EditText>"
<TextView 
    android:id="@+id/TextViewSpeed"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text ="Speed"
    android:layout_below="@+id/speed"
    />
<Button 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:text="AddValue"
    android:id="@+id/AddValue"
    >
</Button>
<ListView 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/ListView"
    android:layout_below="@+id/AddValue"
    >
</ListView>

</RelativeLayout>

这是我的布局代码。我想将EditText中的文本数据添加到同一页面上的ListView。单击AddValue按钮时如何编写代码以将文本添加到列表中。 提前谢谢。

2 个答案:

答案 0 :(得分:2)

使用此代码

 addbutton.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {     
         String val = edittext.getText().toString();
         list.add(val);
         ((ArrayAdapter<Object>) listView.getAdapter()).notifyDataSetChanged();
     }
});

答案 1 :(得分:1)

以下代码段将为您提供帮助。

package org.sample;

    import android.app.ListActivity;
    import android.os.Bundle;
    import android.view.ContextMenu;
    import android.view.ContextMenu.ContextMenuInfo;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.EditText;

    public class SampleActivity extends Activity
    {
        private Button add;
        private EditText speedText;
        private ArrayAdapter<String> adapter;
        private ListView AddValue;
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);  

            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1);

                    AddValue=(ListView)findViewById(R.id.AddValue); 
            AddValue.setAdapter(adapter);

            add = (Button) findViewById(R.id.add);
            speedText = (EditText) findViewById(R.id.speed);
            add.setOnClickListener(new OnClickListener()
            {

                @Override
                public void onClick(View arg0)
                {
                    if (speedText.getText().toString().length() != 0)
                    {
                        adapter.add(speedText.getText().toString());
                        adapter.notifyDataSetChanged();
                    }

                }
            });
        }
    }