Android学习第十二天---ListView混合

项目需求:list中添加button属性,会使得后面listview不能点击,以下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:layout_weight="1" >

    </ListView>

    <ListView
        android:id="@+id/listView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    </ListView>

</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

java代码:

package cn.core.test;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

    private ListView mListView1=null;
    private ListView mListView2=null;
    
    private MyAdapter myAdapter1=null;
    private MyAdapter myAdapter2=null;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mListView1=(ListView)findViewById(R.id.listView1);
        mListView2=(ListView)findViewById(R.id.listView2);
        
        mListView1.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
                Toast.makeText(MainActivity.this, "点到我啦", Toast.LENGTH_SHORT).show();
                
            }
            
        });
        
        myAdapter1=new MyAdapter(this,1);
        myAdapter2=new MyAdapter(this,2);
        
        mListView1.setAdapter(myAdapter1);
        mListView2.setAdapter(myAdapter2);
        
    }
    private class MyAdapter extends BaseAdapter
    {
        private Context context;
        private int switchid;
        
        
        public MyAdapter(Context context, int switchid) {
            this.context = context;
            this.switchid = switchid;
        }

        @Override
        public int getCount() {

            return 10;
        }

        @Override
        public Object getItem(int arg0) {

            return null;
        }

        @Override
        public long getItemId(int arg0) {
            return 0;
        }

        @Override
        public View getView(int position, View arg1, ViewGroup arg2) {
            LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
            View view=(View)inflater.inflate(R.layout.activity_main_lv, null);
            
            TextView mTextView=(TextView)view.findViewById(R.id.textView1);
            Button mButton=(Button)view.findViewById(R.id.button1);
            
            
            if(switchid==1)
            {
                mButton.setFocusable(false);
            }
            else
            {
                view.setOnClickListener(new OnClickListener() {
                    
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(MainActivity.this, "listView2",Toast.LENGTH_SHORT).show();
                    }
                });
            }
            
            
            
            
            mTextView.setText("info"+position);
            mButton.setText("button"+position);
            mButton.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    Toast.makeText(MainActivity.this, "button",Toast.LENGTH_SHORT).show();
                    
                }
            });
            
            return view;
        }
        
    }

}

 

posted @ 2013-03-20 01:05  小三小山  阅读(155)  评论(0编辑  收藏  举报