2015-06-24 3 views
0

Я вызываю фрагмент из пользовательского диалога. но я не могу назвать фрагмент вызова. мой OnClick вызова функциивызов фрагмента андроида из пользовательского диалога

public void text_noteClick(View v){ 
    Fragment fragments = new Text_Note_Fragment(); 
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
    transaction.replace(R.layout.note_text, fragments); 
    transaction.addToBackStack(null); 
    Toast.makeText(getApplicationContext(),"text",Toast.LENGTH_SHORT).show(); 
} 

здравица успешно работает. класс Text_Note_Fragment является

public class Text_Note_Fragment extends Fragment { 
public Text_Note_Fragment() { 

} 
@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View view; 
    view = inflater.inflate(R.layout.note_text,container,false); 
    return view; 
} 

} я думаю, что проблема заключается в замене фрагмента функции. извините за мой английский :) TNX

+0

Ваш метод text_noteClick() находится в действии или в фрагменте? –

+0

в MainActivity-> protected Dialog OnCreateDialgo() {} –

ответ

0

Я предполагаю, что эта линия является основной причиной.

transaction.replace(R.layout.note_text, fragments); 

Я вижу, вы используете R.layout.note_text в onCreateView функции, это расположение XML для вашего фрагмента. но почему вы используете его взамен функции? вы должны использовать контейнер (часто FrameLayout), как это.

transaction.replace(R.id.container, fragments); 
+0

thanks @zdd. Я попытался фрагментировать фрагмент = новый Text_note_fragment(); но его не работает –

+0

Я использую 'Фрагмент фрагмент = новый фрагмент(); FragmentTransaction transaction = getSupportFragmentManager(). BeginTransaction(); transaction.replace (R.layout.checklist_note, фрагмент); transaction.addToBackStack (null); transaction.commit(); 'но не найдено никакого представления для checklist_note ... я не понимаю его –

+0

Вам нужно определить фреймэлей с идентификатором« контейнер »в вашем файле макета xml и использовать функцию« replace ». – zdd