2017-08-04 60 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'。我將解決這個問題,並希望它能夠正常工作。謝謝你爲我做的一切! –