如何将编辑文本值添加到列表视图
How to add Edit Text Values to List-view
我是编程新手,我目前正在创建一个项目,其中我使用了 3 个编辑文本、一个按钮和一个列表视图。
我可以在单击按钮时在列表视图中添加所有 3 个编辑文本值,但它 运行 只有一次,这意味着它在列表视图中显示所有 3 个值,但是每当我输入新的如果我想在列表视图中添加 5 次,则值它也删除前一个值,那么不应删除前一个值,而是我在列表中获得所有值 5 次。
此外,列表视图是垂直进入的,我需要如果我点击按钮 5 次,它应该以水平方式存储所有三个编辑文本值 5 次。
我试过使用 for 循环,但它对我不起作用,因为没有任何改变。
public class secondActivity extends AppCompatActivity {
EditText edit1, edit2, edit3;
Button button;
ListView listView;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
edit1 = findViewById(R.id.name);
edit2 = findViewById(R.id.desigination);
edit3 = findViewById(R.id.post);
listView = findViewById(R.id.list_view);
button = findViewById(R.id.list_button);
button.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onClick(View v) {
String itemName = edit1.getText().toString();
String itemDescription = edit2.getText().toString();
List list = Collections.synchronizedList(new ArrayList());
list.add(itemName);
list.add(itemDescription);
ArrayAdapter lists1 = new ArrayAdapter(secondActivity.this, android.R.layout.simple_list_item_1, list);
listView.setAdapter(lists1);
edit1.setText("");
edit2.setText("");
}
});
}
不要在每次单击按钮时都创建列表。
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
edit1 = findViewById(R.id.name);
edit2 = findViewById(R.id.desigination);
edit3 = findViewById(R.id.post);
listView = findViewById(R.id.list_view);
List list = Collections.synchronizedList(new ArrayList());
button = findViewById(R.id.list_button);
button.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onClick(View v) {
String itemName = edit1.getText().toString();
String itemDescription = edit2.getText().toString();
list.add(itemName);
list.add(itemDescription);
ArrayAdapter lists1 = new ArrayAdapter(secondActivity.this,
android.R.layout.simple_list_item_1, list);
listView.setAdapter(lists1);
edit1.setText("");
edit2.setText("");
}
});
}
我是编程新手,我目前正在创建一个项目,其中我使用了 3 个编辑文本、一个按钮和一个列表视图。
我可以在单击按钮时在列表视图中添加所有 3 个编辑文本值,但它 运行 只有一次,这意味着它在列表视图中显示所有 3 个值,但是每当我输入新的如果我想在列表视图中添加 5 次,则值它也删除前一个值,那么不应删除前一个值,而是我在列表中获得所有值 5 次。 此外,列表视图是垂直进入的,我需要如果我点击按钮 5 次,它应该以水平方式存储所有三个编辑文本值 5 次。
我试过使用 for 循环,但它对我不起作用,因为没有任何改变。
public class secondActivity extends AppCompatActivity {
EditText edit1, edit2, edit3;
Button button;
ListView listView;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
edit1 = findViewById(R.id.name);
edit2 = findViewById(R.id.desigination);
edit3 = findViewById(R.id.post);
listView = findViewById(R.id.list_view);
button = findViewById(R.id.list_button);
button.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onClick(View v) {
String itemName = edit1.getText().toString();
String itemDescription = edit2.getText().toString();
List list = Collections.synchronizedList(new ArrayList());
list.add(itemName);
list.add(itemDescription);
ArrayAdapter lists1 = new ArrayAdapter(secondActivity.this, android.R.layout.simple_list_item_1, list);
listView.setAdapter(lists1);
edit1.setText("");
edit2.setText("");
}
});
}
不要在每次单击按钮时都创建列表。
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
edit1 = findViewById(R.id.name);
edit2 = findViewById(R.id.desigination);
edit3 = findViewById(R.id.post);
listView = findViewById(R.id.list_view);
List list = Collections.synchronizedList(new ArrayList());
button = findViewById(R.id.list_button);
button.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onClick(View v) {
String itemName = edit1.getText().toString();
String itemDescription = edit2.getText().toString();
list.add(itemName);
list.add(itemDescription);
ArrayAdapter lists1 = new ArrayAdapter(secondActivity.this,
android.R.layout.simple_list_item_1, list);
listView.setAdapter(lists1);
edit1.setText("");
edit2.setText("");
}
});
}