【发布时间】:2017-08-04 05:18:08
【问题描述】:
我正在尝试创建一个 ListView 来显示通过 EditText 输入的值。我正在使用ArrayList 和ArrayAdapter,但恐怕我并不完全理解它们是如何工作的。
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.listView1, num1);
我不确定为什么我无法使用 android.R.id.listView1,其中 listView1 是我在活动中的列表视图的 id。这不是适配器需要从我的 ArrayList 中列出的 resourceid 吗?
以下是我的完整方法和声明。抱歉,如果我的问题含糊不清,我不完全知道使用哪个术语来表示什么,我无意造成混淆。
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。谢谢你的帮助。
【问题讨论】:
-
它可能对你有帮助...stackoverflow.com/questions/19079400/…
标签: java android arraylist android-arrayadapter