프로그램 설명은 다음과 같습니다.

하나의 리스트뷰에 A라는 버튼을 누르면 대학정보가 리스트뷰에 쫘악 뜨고 그상태에서 하나의 아이템(대학이름)을 클릭하면 그학교의 학과 정보에 관련된 다른 액티비티로 넘어갑니다.

B라는 버튼을 누르면 모든대학의 학과가 리스트뷰에 쫘악 뜹니다. 그렇기 때문에 아이템을 클릭할 필요가 없습니다.

그런데 문제가 처음부터 B라는 버튼을 누르게 되면 setClickable(false)이기 때문에 리스트뷰의 아이템들이 클릭이 되지 않습니다.

그러나 A라는 버튼을 누른뒤 B라는 버튼을 누르면 리스트뷰의 아이템들이 클릭이 되면서 다른 액티비티로 넘어가버립니다.

저는 B라는 버튼을 눌렀을때 리스트뷰의 아이템들이 클릭 안되게 하고 싶은데

setClickable(false)도 이상하게 잘 먹히지 않고 미치겠네요 ㅜ.ㅜ

아래 풀 소스 올렸습니다 ㅜ.ㅜ 도움좀 부탁드립니다

package com.Uni;


import java.util.ArrayList;

import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;

import com.Forgo3.R;

public class UniMain extends Activity {
 private static final String DATABASE_NAME = "Forgo3.sqlite";
 private static final String SEARCH_TABLE = "SELECT dept,uniname, point FROM uni order by dept";
 private static final String SEARCH = "SELECT dept,uniname,point FROM uni WHERE dept LIKE ?";
 private String input[] = new String[1];

 private SQLiteDatabase db;
 private Cursor c;
 
 private boolean flag;

 private ListView lv;
 

// private ArrayAdapter<String> adapter;
 private ArrayList<String> items;

 private Button unibttn;
 private Button deptbttn;
 private Button search;
 private EditText et;
 private String data[];
 private Intent j;
 private static final int INPUT = 0;
 private UniListAdapter adapter;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.uni);
  setDB();

  
  
  lv = (ListView)findViewById(R.id.uniListview);
  unibttn = (Button)findViewById(R.id.unibttn);
  deptbttn = (Button)findViewById(R.id.deptbttn);
  search = (Button)findViewById(R.id.deptsearchbttn);
  et = (EditText)findViewById(R.id.searchDept);
  
  

  unibttn.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    listUni();
    
    
    
   }
  });

  deptbttn.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    
    getDept();
//    listDept();
    listdp();
    flag = false;
    
    
    
   }
  });

  search.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    lv.clearChoices();
    input[0] =  "%"+et.getText().toString()+"%";
    searchDept();
//    listDept();
    listdp();
    et.setText("");
    
    
   }
  });

  lv.setOnItemClickListener(new OnItemClickListener() {

   @Override
   public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
     long arg3) {
    // TODO Auto-generated method stub
    UniTextItem item = (UniTextItem)adapter.getItem(arg2);
    String data[] = item.getData();


    j = new Intent(UniMain.this, UniInfoList.class);
    j.putExtra("data", data[0]);
    startActivityForResult(j, INPUT);
   }


  });
 }

 

 public void setDB(){
  db = openOrCreateDatabase(DATABASE_NAME,   SQLiteDatabase.CREATE_IF_NECESSARY, null);
 }
 public void getDept(){
  c = db.rawQuery(SEARCH_TABLE, null);
  
  items = new ArrayList<String>();
  c.moveToFirst();

  String result = "";
  while(c.isAfterLast()==false){
   for(int i = 0; i<c.getColumnCount();i++){
    result += c.getString(i)+"\n";
   }
   items.add(result);
   result = "";
   c.moveToNext();
  }
  
  
  c.close();
  
  data = new String[items.size()];
  for(int i = 0; i < items.size(); i ++){
   data[i] = items.get(i);
  }
  
 }
//
 public void searchDept(){
  c = db.rawQuery(SEARCH, input);
  
  items = new ArrayList<String>();
  c.moveToFirst();

  String result = "";
  while(c.isAfterLast()==false){
   for(int i = 0; i<c.getColumnCount();i++){
    result += c.getString(i)+"\n";
   }
   items.add(result);
   result = "";
   
   c.moveToNext();
  }
  c.close();
  
  data = new String[items.size()];
  for(int i = 0; i < items.size(); i ++){
   data[i] = items.get(i);
  }
  
  
 }

// public void listDept(){
//  adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);
//  adapter.notifyDataSetChanged();
//   lv.setAdapter(adapter);
//  lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
// 
// }
 
 public void listdp(){
  
  Resources res = getResources();
  adapter = new UniListAdapter(this);
  for(int i = 0; i < data.length; i++){
   adapter.addItem(new UniTextItem(data[i]));
  }
  adapter.notifyDataSetChanged();
  lv.setAdapter(adapter);
  lv.setClickable(false);
  
 }

 public void listUni(){
  Resources res = getResources();
  
  adapter = new UniListAdapter(this);
  
  
  adapter.addItem(new UniTextItem(res.getDrawable(R.drawable.kyunghee), "경희대"));
  adapter.addItem(new UniTextItem(res.getDrawable(R.drawable.korea), "고려대"));
  adapter.addItem(new UniTextItem(res.getDrawable(R.drawable.kookmin), "국민대"));
  adapter.addItem(new UniTextItem(res.getDrawable(R.drawable.sungkyoon), "성균관대"));
  adapter.addItem(new UniTextItem(res.getDrawable(R.drawable.yonsei), "연세대"));
  adapter.addItem(new UniTextItem(res.getDrawable(R.drawable.iwha), "이화여대"));
  adapter.addItem(new UniTextItem(res.getDrawable(R.drawable.joonang), "중앙대"));
  adapter.addItem(new UniTextItem(res.getDrawable(R.drawable.hanyang), "한양대"));
  adapter.addItem(new UniTextItem(res.getDrawable(R.drawable.hongeek), "홍익대"));
  adapter.addItem(new UniTextItem(res.getDrawable(R.drawable.hankookwoi), "한국외대"));
  adapter.addItem(new UniTextItem(res.getDrawable(R.drawable.kwangwoon), "광운대"));
  adapter.addItem(new UniTextItem(res.getDrawable(R.drawable.soongsil), "숭실대"));
  adapter.addItem(new UniTextItem(res.getDrawable(R.drawable.seoultech), "서울산업대"));
  adapter.notifyDataSetChanged();
  lv.setAdapter(adapter);
  lv.setClickable(true);
  
  
 }

 


}