我正在尝试创建ListView以显示通过EditText输入的值。我正在使用ArrayList
和ArrayAdapter
,但我恐怕不完全明白它们是如何工作的。使用ArrayAdapter显示ArrayList中的值
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.listView1, num1);
我不确定为什么我无法使用android.R.id.listView1
其中ListView1的是在活动中我的列表视图的id
。这不是适配器需要列出我的ArrayList的资源ID吗?
下面是我的完整方法和delcarations。对不起,如果我在我的问题中含糊不清,我不完全知道哪些术语用于什么,我不打算引起混淆。
public ArrayAdapter<String> adapter;
ArrayList<String> allScores = new ArrayList<>();
ListView listScores = (ListView)findViewById(R.id.listView1);
public void onButtonClick(View V){
EditText input1 = (EditText) findViewById(R.id.scorePrompt);
TextView output1 = (TextView) findViewById(R.id.textTotal);
String blankCheck = input1.getText().toString(); //CHANGE INPUT IN scorePrompt TO STRING
TextView output2 = (TextView) findViewById(R.id.custName); //TEST FOR ARRAY LIST DISPLAY
if (blankCheck.equals("")) {
Toast blankError = Toast.makeText(getApplicationContext(), "YOU CANT SKIP HOLES JERK", Toast.LENGTH_LONG);
blankError.show();
} else {
//savedScores.add(input1.getText().toString());//Save input into array list
int num1 = Integer.parseInt(input1.getText().toString()); //Get input from text box
int sum = num1 + score2;
score2 = sum;
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.listView1, num1);
output1.setText("Your score is : " + Integer.toString(sum));
input1.setText(""); //Clear input text box
}
};
有关我的意图的一些背景资料,我希望用户在一个EditText输入整数,在一个ArrayList保存这些值,然后用用户输入的值一个ListView行由行。感谢您的帮助。
它可能会帮助你... https://stackoverflow.com/questions/19079400/arrayadapter-in-android-to-create-simple-listview –