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; } } }