2012-02-11 4 views
0

私は、チェックボックスを含む項目のリストを持っています。リスト項目の左側にテキストがあり、右側にチェックボックスがあります。リストアイテムをクリックすると、チェックボックスがクリックされ、onListItemClickメソッドの残りのインテントが起動されます。チェックボックスをオンにしたときにonListItemClickが何かを行い、テキストがクリックされたときにonListItemClickが何かを行うようにコードを変更するにはどうすればよいですか? 、試行錯誤の多くの後、リスト項目をクリックしたときにonListItemClickと呼ばれるものを切り離す方法は?

@Override 
protected void onListItemClick(ListView l, View v, int position, long id){ 
    super.onListItemClick(l, v, position, id); 

    My_DownLoad my_dl = (My_DownLoad) map_thoughts.get(my_list.get(position)); 

    Integer id1 = position; 
    Log.i("ListOthers", "onListItemClick position: " + id1.toString()); 

      Long id2 = id; 
    Log.i("ListOthers", "onListItemClick position: " + id2.toString()); 

     //For Some reason id2 and id1 are the same 
     //I was thinking about setting up a case statement if something different happens if I click the checkbox and not the text 



    //start activity if text is checked 
      //change state of checkbox if checkbox is clicked 
} 

答えて

0

OK:

public void refreshlist(){ 
    mymap = null; 

    mymap = providerTester.downLoadinfo(value1,value2); 
    list_my = new ArrayList<String>(mymap.keySet());  
    adapter = new ArrayAdapter<String>(ClassName.this, android.R.layout.simple_list_item_multiple_choice, list_my); 
    //using builtin list_item 
    getListView().setChoiceMode(2); 

    setListAdapter(adapter); 

} 

をそして私はこのようなonListClickListenerを設定している:

は、私はこのような方法は、私のリスト項目を更新する必要があります私はこれを働かせる。私は最終的に私が探していたものを見て非常に満足しています。ここに私がしてしまったものです:

public void refreshlist(){ 
    mymap = null; 

    mymap = providerTester.downLoadinfo(value1,value2); 
    list_my = new ArrayList<String>(mymap.keySet());  
    adapter = new ArrayAdapter<String>(ClassName.this,android.R.layout.simple_list_item_multiple_choice, list_my); 
    //using builtin list_item 
    getListView().setChoiceMode(2); 

    setListAdapter(adapter); 
} 

及び第二の方法

@Override 
protected void onListItemClick(ListView l, View v, int position, final long id){ 
super.onListItemClick(l, v, position, id); 

final My_DownLoad my_dl = (My_DownLoad) map_thoughts.get(my_list.get(position)); 
final Intent i = new Intent(this, NextActivity.class); 

l.setOnItemLongClickListener(new OnItemLongClickListener(){ 
     public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3){ 

     } 

     @Override 
     public boolean onItemLongClick(AdapterView<?> arg0, View arg1, 
       int arg2, long arg3) { 

      //add values to intent 
      startActivity(i); 

      return false; 
     } 
    }); 



} 
+0

私は最初のリスト項目をクリックする必要があり、その後longclickが正常に動作し、問題がまだあるだろう内のすべての項目リスト。 – Stagleton

関連する問題