android sdk——listView的用法

本文介绍如何在Android应用中动态添加TextView和ListView控件,并实现ListView的滚动及点击事件响应,展示所选字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:

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的setOnItemSelectedListenersetOnItemClickListener的用法;注意内部参数的代表意思;

问题:

用模拟手机运行的setOnItemSelectedListener的效果没体现出来?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值