• android 监听ListView中的 item 和button


    主Activity

    public class MainActivity extends Activity {
        
        private String[] data = new String[]{"测试数据1","测试数据2","测试数据3","测试数据4"};
        private ListView listview;
        
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
           listview = (ListView) this.findViewById(R.id.listView);
           listview.setAdapter(new SimpleAdapter(this, getData(), R.layout.item, new String[]{"text"} , new int[]{R.id.textView}));
            
           listview.setOnItemClickListener(new OnItemClickListener() {
    
                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {
                    // TODO Auto-generated method stub
                    
                    System.out.println("The item setOnItemClickListener id"+position);
                }
            });
            
            listview.setOnItemSelectedListener(new OnItemSelectedListener() {
    
                @Override
                public void onItemSelected(AdapterView<?> parent, View view,
                        int position, long id) {
                    // TODO Auto-generated method stub
                    System.out.println("The item setOnItemSelectedListener id"+position);
                    
                }
    
                @Override
                public void onNothingSelected(AdapterView<?> parent) {
                    // TODO Auto-generated method stub
                    
                }
            });
            
        }
        
        private List<HashMap<String,String>> getData(){
            List<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
            HashMap<String, String> map = new HashMap<String, String>();
            for (String text : data) {
                map.put("text", text);
                list.add(map);
            }
            return list;
        }
        
        
        public void button(View v){
            
            System.out.println("The item button id"+listview.getPositionForView(v));
            
        }
    }

    main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        tools:context=".MainActivity" >
    
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/hello" />
    
        <ListView
            android:id="@+id/listView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >
        </ListView>
    
    </LinearLayout>

    item.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="wrap_content"
        android:descendantFocusability="blocksDescendants"
        android:orientation="vertical" >
    
        <TextView
            android:id="@+id/textView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="TextView" />
    
        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button"
            android:onClick="button" />
    
    </LinearLayout>

    主要两个属性

    1.listview 的item 布局里加入;

    android:descendantFocusability= "blocksDescendants"

    2.button上加onClick,activity里加入onClick的实现

    listview.getPositionForView(v)
  • 相关阅读:
    20145236 《Java程序设计》 第6周学习总结
    20145236 《Java程序设计》第4周学习总结
    20145236 冯佳 《Java程序设计》第3周学习总结
    20145236 冯佳 《Java程序设计》第2周学习总结
    《Java程序设计》实验三 实验报告
    20145202马超 《Java程序设计》第九周学习总结
    20145202马超 《Java程序设计》第八周学习总结
    20145202马超 实验二《Java面向对象程序设计》实验报告
    20145202马超 《Java程序设计》第七周学习总结
    20145202马超 《Java程序设计》第六周学习总结
  • 原文地址:https://www.cnblogs.com/sishuiliuyun/p/3040017.html
Copyright © 2020-2023  润新知