2017-11-15 15 views
0

나는 Android 응용 프로그램의 프로젝트를 가지고 있는데 contextMenu에서 옵션을 클릭하면 그 위치의 문자열을 볼 수 있습니다.contextmenuinfo를 사용하여 listView에서 문자열 가져 오기

String[] datos = {"Victor","Silvia","Manolo","Carlos","Ana"}; 
     ArrayAdapter<String> adaptador = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, datos); 

    milista.setAdapter(adaptador); 

그리고 이것은 무언가를하여 상황에 맞는 메뉴

@Override 
public boolean onContextItemSelected(MenuItem item) { 

    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); 
    switch (item.getItemId()){ 

     case R.id.action_mostrar: 
      Toast.makeText(getApplicationContext(),info.position+": Opción mostrar" , Toast.LENGTH_LONG).show(); 
      return true; 

     case R.id.action_eliminar: 
      Toast.makeText(getApplicationContext(), info.position+": Opción eliminar", Toast.LENGTH_LONG).show(); 
      return true; 

     default: 
      return false; 

    } 
} 

내가 어떻게해야합니까의 intem을 클릭 할 수있는 방법은?

편집 : 문제가 해결

, 내가 해결 코드 떠나 :

@Override 
    public boolean onContextItemSelected(MenuItem item) { 

     AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); 

     String selectedWord = ((TextView) info.targetView).getText().toString(); 
     switch (item.getItemId()){ 

      case R.id.action_mostrar: 
       Toast.makeText(getApplicationContext(),selectedWord+": Opción mostrar" , Toast.LENGTH_LONG).show(); 
       return true; 

      case R.id.action_eliminar: 
       Toast.makeText(getApplicationContext(), selectedWord+": Opción eliminar" , Toast.LENGTH_LONG).show(); 
       return true; 

      default: 
       return false; 

     } 
    } 

감사합니다 당신은 또한 당신의 문자열 배열에서 문자열을 검색 할 위치를 사용할 수 있습니다

+0

당신은 값을 fo로 설정하고 있습니다. R 스피너 맞지? * setOnItemSelectedListener *보다 작동합니다. –

답변

0

을 like

@Override 
    public boolean onContextItemSelected(MenuItem item) { 

     AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); 

     switch (item.getItemId()){ 

      case R.id.action_mostrar: 
       Toast.makeText(getApplicationContext(),datos[info.position]+": Opción mostrar" , Toast.LENGTH_LONG).show(); 
       return true; 

      case R.id.action_eliminar: 
       Toast.makeText(getApplicationContext(), datos[info.position]+": Opción eliminar" , Toast.LENGTH_LONG).show(); 
       return true; 

      default: 
       return false; 

     } 
    }