2014-11-23 93 views
0

我一直在尋找這個問題的答案,但沒有人真正給出了應該還是什麼樣子的代碼一個明確的答案。我創建了一個安卓應用,當你點擊一個按鈕時播放聲音,但是當他們按住按鈕時,用戶不得不選擇一個按鈕,顯示屏出現,他們可以下載或保存爲鈴聲。有誰知道你會怎麼做呢?按住按鈕可以選擇保存爲鈴聲嗎?

這裏是我的代碼:

MediaPlayer mediaPlayer; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    Button Bus = (Button) findViewById(R.id.b1); 
    Bus.setOnClickListener (new OnClickListener(){ 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      Uri p1 = Uri.parse("android.resource://" + getPackageName() + 
        "/" + R.raw.bus); 
      mediaPlayer = MediaPlayer.create(MainActivity.this, p1); 
      mediaPlayer.start(); 
     } 

    }); 

和我的XML:

<Button 
     android:id="@+id/b1" 
     android:layout_width="125dp" 
     android:layout_height="60dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="18dp" 
     android:layout_marginStart="21dp" 
     android:layout_marginTop="25dp" 
     android:background="@drawable/jay" 
     android:shadowColor="#00FF00" 
     android:shadowDx="0" 
     android:shadowDy="0" 
     android:shadowRadius="10" 
     android:text="@string/b1" 
     android:textColor="#000000" /> 

謝謝,我會很感激在這個問題上的任何幫助!

+0

讓我知道,如果有幫助.. – Elltz 2014-11-23 19:47:54

回答

1

孤單是

Button.setOnLongClickListener(new OnLongClickListener() { 

     @Override 
     public boolean onLongClick(View arg0) { 
      // TODO Auto-generated method stub 
      //your code here with this you do anything manually 
      return false; 
     } 
    }); 

第二種方法 可以,也可以在OnCreate或OnStart中或的onResume

Context.registerForContextMenu(Button); 

然後創建一個上下文菜單註冊您的上下文菜單按鈕..和處理點擊那裏..

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
    // TODO Auto-generated method stub 
    super.onCreateContextMenu(menu, v, menuInfo); 
    getMenuInflater().inflate(R.menu.playlist, menu); 
} 

創建上下文項選擇

@Override 
public boolean onContextItemSelected(MenuItem item) { 
    // TODO Auto-generated method stub 

    switch(item.getItemId()){ 
    case R.id.download: 
     //code to download 
     break; 
    case R.id.save:   
     //code to save 
     break; 
    } 
    return super.onContextItemSelected(item); 
} 

您的播放列表菜單的xml文件

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:id="@+id/save" 
    android:title="save playlist"/> 
<item 
    android:id="@+id/download"   
    android:title="download playlist"/> 
</menu> 
+0

的setOnLongClickListener工作很好,但我只是不能確定哪些代碼我應該寫在它的參數 – 2014-11-24 06:58:17

+0

裏面你是什麼意思詳細說明...第二種方式是非常直接的問題.. – Elltz 2014-11-25 09:14:46

+0

明白了夥伴對不起,這樣一個愚蠢的屁股,這個android編碼很新興。 – 2014-11-25 22:24:54