我有一個保存按鈕:如何使按鈕添加的EditText輸入到ListView
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Save"
android:id="@+id/save"
android:layout_below="@+id/editText"
android:background="@android:color/holo_blue_light"
android:textColor="@android:color/white"
android:textSize="20dp"
android:onClick="saveEvent"/>
,並按下它的時候,我希望它的輸入的EditText添加到ListView。順便說一句,Listview和EditText + Save Button元素在不同的XML佈局上。
我有一個名爲SaveEvent的活動,按下保存按鈕時發生。我如何讓它將EditText輸入添加到ListView元素?
非常感謝。
一塊MakeEvent.java的:
public void saveEvent(View view) {
Intent intent = new Intent(this, SaveEvent.class);
startActivity(intent);
}
SaveEvent.java:
package com.kass.planner;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import java.util.ArrayList;
public class SaveEvent extends Activity implements View.OnClickListener{
private Button btn;
private EditText et;
private ListView lv;
ArrayList<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.save);
btn.setOnClickListener(this);
et = (EditText) findViewById(R.id.editText);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, list);
// set the lv variable to your list in the xml
lv = (ListView) findViewById(R.id.event_list);
lv.setAdapter(adapter);
}
public void onClick(View v) {
String input = et.getText().toString();
if (input.length() > 0) {
// add string to the adapter, not the listview
adapter.add(input);
// no need to call adapter.notifyDataSetChanged(); as it is done by the adapter.add() method
}
}
但這代碼不起作用...... ^謝謝大家。
此代碼應該工作,假設你想顯示該列表視圖內的SaveEvent活動 –
我認爲你應該澄清「列表視圖和EditText +保存按鈕元素在不同的XML佈局」,因爲你怎麼樣能夠在單個Activity中引用這些佈局上的不同視圖? –
回覆您的其他評論。開始簡單。所以一個XML和一個活動。根元素是一個垂直的LinearLayout。它有2個元素。一個RelativeLayout和一個ListView。在RelativeLayout中放置EditText和按鈕。然後開始連接Java代碼 –