2017-08-04 91 views
0

我正在尝试创建ListView以显示通过EditText输入的值。我正在使用ArrayListArrayAdapter,但我恐怕不完全明白它们是如何工作的。使用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行由行。感谢您的帮助。

+0

它可能会帮助你... https://stackoverflow.com/questions/19079400/arrayadapter-in-android-to-create-simple-listview –

回答

0

试试这种方式。

ArrayAdapter<String> itemsAdapter = 
    new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items); 

ListView listView = (ListView) findViewById(R.id.listView1); 
listView.setAdapter(itemsAdapter); 
0

在这里你必须使用不放入适配器列表视图的setadapter

,如果你想添加输入事情比让一个ArrayList,只是通过它的适配器的尝试这个

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,allscores); 
    listscores.setAdapter(adapter) 

第三个参数

+0

你呢!这似乎工作,但现在我遇到了另一个问题。我的应用程序在启动时立即崩溃。我通过代码进行了解析,发现它在我创建“ListView”时发生。我不确定这是为什么。 –

+0

logcat上显示的错误是什么 –

+0

嘿Jigar。我实际上能够找到解决我的问题的方法。我不知道我必须在我的onCreate方法内初始化我的'ArrayList'。我将解决这个问题,并希望它能够正常工作。谢谢你为我做的一切! –