2011-04-11 7 views
0

3 행의 CHOICE_MODE_SINGLE 목록이 있습니다. 임의의 변수의 값을 변경하는 onClick 이벤트를 배치하여 행 1을 클릭하면 X = 1의 값을, 행 2를 클릭하면 X = 2 등의 값을 갖도록 할 수 있습니까?단일 선택 목록 및 onClick 이벤트

public class List extends ListActivity { 
@Override  
    public void onCreate(Bundle savedInstanceState) {   
     super.onCreate(savedInstanceState);   
     setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice, GENRES));   
     final ListView listView = getListView();   
     listView.setItemsCanFocus(false);   
     listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);  
    }  

private static final String[] GENRES = new String[] {"Barre", "Buffumville","Hodges"}; 
} 

답변

0

목록보기에서 onItemClickListener를 설정하려고합니다.

listView.setOnItemClickListener(
    new OnItemClickListener(
      @Override 
      onItemClick(AdapterView<?> listView, View cell, int position, long id) { 
       // Code to change variables 
      } 
    }); 
0

당신은 당신의 ListActivity에서 protected void onListItemClick (ListView l, View v, int position, long id)을 구현할 수 있으며, 위치 변수는 클릭 된 항목을 알 수 있습니다.

2

그것의 ListActivity가 활동하여 확장과 마찬가지로 아래에 XML 파일 목록보기를 선언 확장보다는 매우 simple..rather :

<ListView 
     android:id="@+id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"/> 

초기화 목록보기 활동에 :

ListView listView=(ListView) findViewById(R.id.list); 

그리고 후 설정을 마치면 아래와 같이 코드에서 listview의 항목 클릭 수신기를 설정하십시오.

listView.setOnItemClickListener(new OnItemClickListener() { 

      public void onItemClick(AdapterView<?> parent, View v, int position, 
        long id) { 
       Toast.makeText(getBaseContext(), GENRES[position], Toast.LENGTH_SHORT).show(); 
      } 
     }); 

이렇게하면 listview의 해당 위치 값을 얻을 수 있습니다. 원하는 결과를 확실하게 얻을 수 있습니다.

+0

그것은 작동합니까 ?? – AkashG