0
我試圖做onFragmentResult和RingtoneManager一個糟糕的浪漫
我在這3個片段一個FragmentActivity,這是contectet海槽ViewPager。現在我想通過鈴聲管理器顯示鈴聲或通知。爲此,我創建了一個完美的方法。現在,當我想要從鈴聲管理器獲取數據時,我選擇了一個鈴聲並按下確定。我的onFragmentResult()中沒有任何反應。
問題
我需要做什麼改變,我可以從RingtoneManager結果呢?
守則是波紋管:
問候
野生動物園
代碼
package de.profiler.config;
import de.profiler.R;
import de.profiler.listadapter.PhoneAdapter;
import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.Toast;
public class Tab2Fragment extends ListFragment{
private static final String[] content ={*******};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Nothing todo
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState){
View v = inflater.inflate(R.layout.frag2, container, false);
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//ListAdapter erzeugen
PhoneAdapter adapter = new PhoneAdapter(getActivity(), content);
setListAdapter(adapter);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
int switch_id = (int) id;
switch (switch_id){
case 0: {
Toast.makeText(getActivity(), "Case " + switch_id , 500).show();
break;
}
case 1:{
Toast.makeText(getActivity(), "Case " + switch_id , 500).show();
break;
}
case 2:{
ringtoneSelecter("ringtone");
break;
}
case 3:{
ringtoneSelecter("notification");
break;
}
case 4:{
Toast.makeText(getActivity(), "Case " + switch_id , 500).show();
break;
}
}
}
/**
* Diese Methode erstellt dynamisch das Dialog-Menu um
* einen Ringtone/Notification auszuwählen, dies passiert wie folgt:
* what is notification than RingtoneManger.TYPE_NOTIFICATION
* what is ringtone than RingtoneManager.TYPE_RINGTONE
* what is all than RingtoneManager.TYPE_ALL
* @param what
*/
private void ringtoneSelecter(String what){
String uri = null;
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
if(what == "notification"){
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
RingtoneManager.TYPE_NOTIFICATION);
}else if(what == "ringtone"){
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
RingtoneManager.TYPE_RINGTONE);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_INCLUDE_DRM, true);
}else if(what == "all"){
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
RingtoneManager.TYPE_ALL);
}
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Tone");
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, false);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
if(uri != null)
{
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,
Uri.parse(uri));
}
else
{
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,
(Uri)null);
}
startActivityForResult(intent, 999);
}
public void onFragmentResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
Toast.makeText(getActivity(), "FRAGMENT RESUME WURDE AUFGERUFEN" + data , 500).show();
}
}
你不能在片段中使用onActivityResult ...哦哈哈,你可以看到它該死的。 – safari 2012-04-03 12:13:44