不用xml布局 以编程方式创建listview

我用下面的代码创建一个自定义的 listview:

public class UsersListActivity extends ListActivity{    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);         
            String[] statesList = {"listItem 1", "listItem 2", "listItem 3"};
            setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item,
                    statesList)); 
            ListView lv = getListView(); 
            lv.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {
                   Toast.makeText(getApplicationContext(),
                     "You selected : "+((TextView) view).getText(), Toast.LENGTH_SHORT).show();
     }
            });
        }
}

然而对每一行都使用了一个 xml布局。如果我用编程的方式创建自己的布局,然后在适配器中运用,如何实现呢?

改变适配器

setListAdapter(new ArrayAdapter(this, 
                    android.R.layout.simple_expandable_list_item_1, statesList));