2017-11-15 47 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

をこのように

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

     } 
    } 
関連する問題