0

SimpleCursorAdapterでlistviewを作成しました。各行に複数のビュー(4つのテキストビュー)が含まれています。SimpleCursorAdapter onClickのサブビュー(テキストビュー)にコンテキストメニューを追加する

テキストビューの1つにコンテキストメニューを追加しましたが、テキストビューのonclickは常に最後の行のデータ(最後の行のテキストビューのデータ)を与えます。

は、どのように私はすべてのヘルプは大歓迎この問題を修正することができます。

次のコードで、私は、テキスト上のユーザクリックが、私は、コンテキストメニューに登録する際のTextViewするのOnClickリスナーを設定しています:

は、以下の私のコードです。

public View getView(int position, View convertView, ViewGroup parent) { address = (TextView) row.findViewById(R.id.host_address); 
        address = (TextView) row.findViewById(R.id.host_address); 
        address.setOnClickListener(new View.OnClickListener() { 
         @Override 
         public void onClick(View v) {       
          registerForContextMenu(address); 
          openContextMenu(address); 
          unregisterForContextMenu(address); 
         } 
        }); } 

コンテキストメニュー:

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { 
     super.onCreateContextMenu(menu, v, menuInfo); 

     menu.setHeaderTitle(address.getText()); 
     menu.add(0, OPEN_MAP, 0, "Open in maps"); 
     menu.add(0, COPY_ADDRESS, 1, "Copy"); 
    } 

注: - **上記のコードで** address.getText()常に最後の行アドレスを返します。

+0

上記の機能に関連するコードを投稿してください。 –

+0

何も起こらない! –

+0

@RameshRコードを追加しました。 – Joe

答えて

0

ToolbarActionBarとして、またはスタンドアロンとして使用できます。 スタンドアロンモードでは、あなたがそれのコントロールを持つたい場所にそれを置く、シンプルなビューとしてそれを使用することができるように、あなたのアクションバーとして動作するようにToolbarを設定しないということです。スタンドアロンモードで

、手動でコンテンツ/アクションとツールバーを移入する必要があります。たとえば、アクションを表示するには、メニューを膨らませる必要があります。

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.blah); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar); 

    // Set an OnMenuItemClickListener to handle menu item clicks 
    toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener(){ 
     @Override 
     public boolean onMenuItemClick(MenuItem item) { 
      // Handle the menu item 
      return true; 
     } 
    }); 

    // Inflate a menu to be displayed in the toolbar 
    toolbar.inflateMenu(R.menu.your_toolbar_menu); 
} 
+0

これは私が探していたものではありません。私の更新を確認してください。 – Joe

関連する問題