listview 的 selection mode 训练小例子

  1. package com.example.listviewselectmode; 
  2. import android.R.integer; 
  3. import android.os.Bundle; 
  4. import android.app.ListActivity; 
  5. import android.app.ListActivity; 
  6. import android.view.ActionMode; 
  7. import android.view.Menu; 
  8. import android.view.MenuItem; 
  9. import android.widget.AbsListView.MultiChoiceModeListener; 
  10. import android.widget.ArrayAdapter; 
  11. import android.widget.ListView; 
  12. import android.widget.Toast; 
  13.  
  14. public class MainActivity extends ListActivity { 
  15.      
  16.     String[] itemsStrings={"a","b","c","d","e"}; 
  17.  
  18.     @Override 
  19.     protected void onCreate(Bundle savedInstanceState) { 
  20.          
  21.         super.onCreate(savedInstanceState); 
  22.         ListView listView=getListView(); 
  23.         //注意此处没有setContentView那一项 
  24.         listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); 
  25.         listView.setMultiChoiceModeListener(new ModeChoice()); 
  26.         //注意该adapter的第二个参数为android.R.layout.simple_list_item_checked 
  27.         ArrayAdapter<String> adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_checked, itemsStrings); 
  28.         setListAdapter(adapter); 
  29.     } 
  30.      
  31.     @Override 
  32.     protected void onPostCreate(Bundle savedInstanceState) { 
  33.         // TODO Auto-generated method stub 
  34.          
  35.         getActionBar().setTitle("long press to select"); 
  36.         super.onPostCreate(savedInstanceState); 
  37.          
  38.     } 
  39.  
  40.     class ModeChoice implements MultiChoiceModeListener{ 
  41.  
  42.         @Override 
  43.         public boolean onActionItemClicked(ActionMode mode, MenuItem item) { 
  44.             // TODO Auto-generated method stub 
  45.             int count=getListView().getCheckedItemCount(); 
  46.             switch (item.getItemId()) { 
  47.             case R.id.share: 
  48.                 Toast.makeText(getApplicationContext(), "you share "+count+"项"1000).show(); 
  49.                 break
  50.             default
  51.                   Toast.makeText(MainActivity.this"Clicked " + item.getTitle(), 
  52.                             Toast.LENGTH_SHORT).show(); 
  53.                 break
  54.             } 
  55.              
  56.             return true
  57.         } 
  58.  
  59.         private void setSubtitle(ActionMode mode) { 
  60.             // TODO Auto-generated method stub 
  61.             int count=getListView().getCheckedItemCount(); 
  62.             switch (count) { 
  63.             case 0
  64.                 mode.setSubtitle(""); 
  65.                 break
  66.             case 1
  67.                 mode.setSubtitle("you select one item"); 
  68.                 break
  69.             default
  70.                 mode.setSubtitle("you select"+count+"items"); 
  71.                 break
  72.             } 
  73.         } 
  74.  
  75.         @Override 
  76.         public boolean onCreateActionMode(ActionMode mode, Menu menu) { 
  77.             // TODO Auto-generated method stub 
  78.             getMenuInflater().inflate(R.menu.main, menu); 
  79.             mode.setSubtitle("select item"); 
  80.             setSubtitle(mode); 
  81.             //此处需注意需要返回true 
  82.             return true
  83.         } 
  84.  
  85.         @Override 
  86.         public void onDestroyActionMode(ActionMode mode) { 
  87.             // TODO Auto-generated method stub 
  88.              
  89.         } 
  90.  
  91.         @Override 
  92.         public boolean onPrepareActionMode(ActionMode mode, Menu menu) { 
  93.             // TODO Auto-generated method stub 
  94.              
  95.             return false
  96.         } 
  97.  
  98.         @Override 
  99.         public void onItemCheckedStateChanged(ActionMode mode, int position, 
  100.                 long id, boolean checked) { 
  101.             // TODO Auto-generated method stub 
  102.             setSubtitle(mode); 
  103.         } 
  104.          
  105.          
  106.     } 
  107.  
  108. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Unity中,ListView是一种常用的UI控件,用于显示列表数据。要实现循环模式的ListView,可以使用以下步骤: 1. 创建一个空的GameObject,并将其命名为"ListView"。 2. 在ListView上添加一个ScrollView组件,并将其大小调整为适当的大小。 3. 在ScrollView上添加一个Viewport组件,并将其大小调整为适当的大小。 4. 在Viewport下创建一个Content子对象,并将其大小调整为适当的大小。 5. 在Content下创建列表项的预制体,可以是一个Panel或其他UI元素。确保预制体的大小适合列表项的需求。 6. 创建一个脚本来管理ListView的数据和显示逻辑。可以命名为"ListViewManager"。 7. 在ListViewManager脚本中定义一个列表(List)来存储要显示的数据。 8. 在Start()函数中,根据列表数据动态生成列表项,并将其添加到Content下。 9. 根据实际需求,可以使用循环方式排列列表项。例如,如果希望列表项在垂直方向上循环显示,可以根据列表数据的数量,在Content上创建足够数量的列表项,并设置它们的位置和内容。 10. 如果希望在滚动时循环显示列表项,可以编写逻辑来监测ScrollView的滚动位置,并相应地更新Content中列表项的位置和内容。 通过以上步骤,你可以在Unity中创建一个循环模式的ListView,并根据需要进行列表项的循环显示。具体实现细节可能会根据项目需求有所不同,你可以根据自己的需求对以上步骤进行调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值