2015-03-22 4 views
0

Привет, я хотел знать, как я могу показать диалог на экране, когда пользователь нажимает кнопку;Как показать фрагмент DIalog?

java файл;

public class Example extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.example_layout); 

     findViewById(R.id.exampleButton).setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       Log.i("Jomin","sdsd"); 
       ExampleDialogFragment CallUs = new ExampleDialogFragment(); 
       CallUs.getDialog(); 
      } 
     }); 
    } 
} 

это пример Java-файла примераDialogFragment;

public class ExampleDialogFragment extends android.support.v4.app.DialogFragment { 

    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 

     final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
     builder.setCancelable(false);  builder.setTitle(R.string.LogOutTitle).setMessage(R.string.LogOutMessage).setPositiveButton(R.string.LogOutPositive,new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface dialog, int which) { 

       Uri number = Uri.parse("tel:0845 3000 116"); 
       Intent callIntent = new Intent(Intent.ACTION_DIAL, number); 
       startActivity(callIntent); 
      } 
     }); 

     AlertDialog dialog = builder.create(); 
     return dialog; 
    } 
} 

Так может кто-нибудь сказать мне, как я смог бы показать этот диалог, когда пользователь нажимает на кнопку с ID - exampleButton.

+0

Я пробовал использовать; CallUs.show (getSupportFragmentManager(), "вызов"); но получить сообщение об ошибке не может разрешить метод getupportfragmentmanager –

ответ

1
callUs.show(getFragmentManager(), "SOME_TAG"); 

И я думаю, что вы должны переключить активность на FragmentActivity и Repalce getFragmentManager() с getSupportFragmentManager() в качестве DialogFragment расширяет версию от поддержки библиотеки

+0

Я только что попробовал, чтобы получить сообщение об ошибке «не могу разрешить метод» (android.app.FragmentManager , java.lang.String) '" –

+0

Я не читал все, что вы сказали, особенно бит, о котором вы упоминали о его расширении из Fragment Activity и замене его менеджером getsupportfragment –

1

Это хороший гид: http://android-developers.blogspot.com/2012/05/using-dialogfragments.html

import android.support.v4.app.FragmentActivity; 
import android.support.v4.app.FragmentManager; 
// ... 

public class FragmentDialogDemo extends FragmentActivity implements EditNameDialogListener { 

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

private void showEditDialog() { 
    FragmentManager fm = getSupportFragmentManager(); 
    EditNameDialog editNameDialog = new EditNameDialog(); 
    editNameDialog.show(fm, "fragment_edit_name"); 
} 
} 
+0

Я пробовал что-то похожее на это, но не помогал мне его исправить –

Смежные вопросы