我覺得這個問題已被問及一百萬次,並回答了一百萬次。我已閱讀並回顧了十幾個答案,但仍無法實現這一目標。對我來說這似乎很簡單,但我花了很長時間,而且我只看到陣列適配器的第一項,無論我做什麼。我希望我錯過了一些非常簡單的事情,但大多數我發現的例子都表明這是做到這一點的方式,所以我很困惑。將項目添加到ArrayAdapter <String>
result = (ListView) rootView.findViewById(R.id.resultesult);
resultAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
resultAdapter.add("one");
resultAdapter.clear();
resultAdapter.add("two");
resultAdapter.add("three");
result.setAdapter(resultAdapter);
當我運行我的程序時,ListView似乎只包含「兩個」。 .count()是2,就像我期望的那樣(.clear()之後的「2」和「3」),但ListView只顯示「2」。即使我在運行時添加了一千個項目,它也只會顯示「兩個」。如果我清除()它,那麼它顯示我的第一件事.add(),但我真的很想展示我添加的所有內容,而不僅僅是第一個。
這是一個非常短的剪切,沒有這樣的意義。在我的實際程序中,我做了.add(「blah」),然後在.post()之後的.notifyDataSetChanged()發生了各種事情之後;但我也有同樣的結果。
UPDATE1:我的佈局(按照評論要求)如下。當ListView改爲TextView時,佈局似乎正常工作。當我問到它是否沒有擴展到ScrollView或什麼時,我確實想知道。我應該把它放在第一位。
<AutoCompleteTextView
android:id="@+id/command"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentStart="true"
android:ems="10"
android:hint="@string/commandHint"
android:imeActionId="@+id/execCommand"
android:imeActionLabel="@string/exec"
android:imeOptions="actionSend"
android:inputType="textAutoCorrect|textAutoComplete|textMultiLine|textUri"
android:selectAllOnFocus="false"
android:typeface="monospace" >
</AutoCompleteTextView>
<ScrollView
android:id="@+id/scrollView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/command"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:fadingEdge="horizontal|vertical"
android:scrollbars="horizontal|vertical" >
<ListView
android:id="@+id/result"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</ScrollView>
UPDATE2:每對夫婦下面的答案,我試圖與一個ArrayList,並沒有任何區別。
result = (ListView) rootView.findViewById(R.id.resultesult);
ArrayList<String> doubtThisllMatter = new ArrayList<String>();
doubtThisllMatter.add("one");
doubtThisllMatter.add("two");
doubtThisllMatter.add("three");
resultAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
doubtThisllMatter);
result.setAdapter(resultAdapter);
我仍然只在活動中顯示的列表中獲得「one」。
可以發佈你的佈局xml plz嗎?我認爲它可能有些問題。 – 2014-09-25 04:25:15
啊,張貼布局是關鍵。它將一個卷軸放在一個卷軸上。我最初有scrollview,因爲listview曾經是一個textview。啊。 – jettero 2014-09-25 10:14:55