setlistadapter问题,我根本不知道它是如何工作的

|| 我在使用setListAdapter()时遇到问题。它告诉我只创建方法,因为它对此一无所知。现在,我只是试图获取要填充的列表,而我什至不知道这段代码在做什么。
public class PassScreen extends Activity {
TextView selection;
ArrayList<String> items = new ArrayList<String>();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.passwordscreen);
    selection=(TextView)findViewById(R.id.selection);

    try { 
        InputStream in=getResources().openRawResource(R.raw.words);
        DocumentBuilder builder=DocumentBuilderFactory.newInstance().newDocumentBuilder();
        Document doc = builder.parse(in,null);
        NodeList words=doc.getElementsByTagName(\"word\");
        for (int i =0;i<words.getLength();i++){
            items.add(((Element)words.item(i)).getAttribute(\"value\"));
        }
        in.close();
    }
    catch (Throwable t){
        Toast.makeText(this, \"Exception: \" + t.toString(), 2000).show();
    }

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

}
public void onListItemClick(ListView parent, View v, int position, long id){
    selection.setText(items.get(position).toString());
}
}
如您所见,我拥有和正在使用的xml文件。看起来就像这本书的样子,但是我再次复制并粘贴了setListAdapter(),所以我想这并不是很有帮助。 如果您还可以告诉我setListAdapter()的功能,那将是很好的。我看不出Google在说什么。 这是xml:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<LinearLayout
xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:layout_width=\"fill_parent\"
android:layout_height=\"fill_parent\">

<TextView
android:id=\"@+id/selection\"
android:layout_width=\"fill_parent\"
android:layout_height=\"wrap_content\"/>

<ListView
  android:id=\"@android:id/list\"
  android:layout_width=\"fill_parent\"
  android:layout_height=\"fill_parent\"
  android:drawSelectorOnTop=\"false\"/>

</LinearLayout>
还有一些单词xml:
<words>
<word value=\"lorem\"/>
<word value=\"ipsom\"/>
<word value=\"dolor\"/>
</words>
您还能解释发生了什么吗?我根本不了解setListAdapter()。或者只是指向Google的白皮书。我找不到。好像我不知道如何查找这些东西。     
已邀请:
setListAdapter()
不是您可以在
Activity
上调用的方法(it5ѭ可用),但您没有使用它。您将必须在布局(/ res / layout / passwordscreen)中添加
ListView
,然后找到它并在其上调用
setAdapter
。 例如
ListView lv = (ListView) findViewById(R.id.mylistview);
lv.setAdapter(.....);
    
嘿,这是由于基类,您的基类应该是:
public class yourClassName extends ListActivity{
不将yourClassName类别扩展为Activity {     
当您调用setListAdapter时,这必须扩展ListActivity,您可能只是在类中扩展了Activity。 我在其他帖子上看到了它,对我有用!     

要回复问题请先登录注册