需求:
1.动态插入textView,listView的控件;
2.滚动listView,点击listView后显示选择的字符串;
效果:
代码:
private static final String[] array =
{
"sunday","monday","tuesday","wednesday","thursday","friday","saturday",
"one","two","three","four","five","six","seven","eight","nine","ten"
};
LinearLayout myLinearLayout;
TextView mTextView;
ListView mListView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*新建linearLayout*/
myLinearLayout = new LinearLayout(this);
myLinearLayout.setOrientation(LinearLayout.VERTICAL);
myLinearLayout.setBackgroundColor(android.graphics.Color.WHITE);
/*动态添加TextView到layout中去*/
mTextView = new TextView(this);
LinearLayout.LayoutParams param1 = new LinearLayout.LayoutParams
(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
mTextView.setText("myListView");
mTextView.setTextColor(getResources().getColor(R.drawable.blue));
myLinearLayout.addView(mTextView, param1);
/*动态添加ListView到layout中去*/
mListView = new ListView(this);
LinearLayout.LayoutParams param2 = new LinearLayout.LayoutParams
(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
mListView.setBackgroundColor(getResources().getColor(R.drawable.gray));
myLinearLayout.addView(mListView, param2);
setContentView(myLinearLayout);
ArrayAdapter<String> adapter =
new ArrayAdapter<String>
(this, R.layout.simple_text, array);
mListView.setAdapter(adapter);
mListView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
mTextView.setText("you choose "+arg0.getSelectedItem().toString());
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
mTextView.setText("you chooseo "+array[arg2]);
}
});
重点:
1.在布局中动态增加控件的过程;
2.ListView的setOnItemSelectedListener,setOnItemClickListener的用法;注意内部参数的代表意思;
问题:
用模拟手机运行的setOnItemSelectedListener的效果没体现出来?