【发布时间】:2016-06-12 17:34:38
【问题描述】:
我有一个保存按钮:
<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 的活动,它在按下 Save 按钮时发生。如何使其将 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 活动中显示该列表视图,此代码应该可以工作
-
我认为您应该澄清“Listview 和 EditText+Save Button 元素位于不同的 XML 布局上”,因为您如何能够在单个 Activity 中引用这些布局上的不同视图?
-
回应您的其他评论。从简单开始。所以一个 XML 和一个活动。根元素是一个垂直的 LinearLayout。它有 2 个元素。一个RelativeLayout 和一个ListView。在 RelativeLayout 内放置 EditText 和按钮。然后开始连接 Java 代码