0

我已經創建了與SimpleCursorAdapter的列表視圖,每行包含多個視圖(4個文本視圖),我想添加上下文菜單到一個單擊文本視圖。將上下文菜單添加到SimpleCursorAdapter的子視圖(Textview)onClick

我已經加入上下文菜單TextView的之一,但的onclick的TextView的它總是給最後一行的數據(最後一排的TextView的數據)。

我該如何解決這個問題,非常感謝任何幫助。

下面是我的代碼:

在下面的代碼我設置的OnClick聽者當文本用戶點擊我註冊上下文菜單的TextView。

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

Toolbar可以被用作一個或ActionBar作爲獨立。 獨立模式是,您不會將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

相關問題