2014-10-11 2 views
0

안녕하세요, 수입과 관련하여 몇 가지 문제가 있습니다. 제목 아래에 오류 메시지가 표시됩니다. MyDialog.show(manager, "MyDialog");DialogFragment 유형에서 비 정적 메서드 show (FragmentManager, String)에 대한 정적 참조를 만들 수 없습니다.

아무도 모릅니다. 가져 오기에 대한 몇 가지 문제를 생각하고 있지만 확실하지 않습니다. 코드의

나머지 : Toast.makeText(this, message,Toast.LENGTH_SHORT).show(); 표시되는 오류에서 나는 또한 문제에 봉착

package com.example.sub_assignment1_2; 

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.Toast; 



/** 
* A simple {@link Fragment} subclass. 
* 
*/ 
public class FragmentB extends Fragment implements MyDialog.Communicator { 

    public FragmentB() { 
     // Required empty public constructor 
    } 


    public void showDialog(View v) 

    { 
      FragmentManager manager=getFragmentManager(); 
      MyDialog myDialog=new MyDialog(); 
      MyDialog.show(manager, "MyDialog"); 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     return inflater.inflate(R.layout.fragment_b, container, false); 
    } 


    @Override 
    public void onDialogMessage(String message) { 
     Toast.makeText(this, message,Toast.LENGTH_SHORT).show(); 

    } 

} 

이다 : 나는 또한 생각하고 Toast.makeText(this, message,Toast.LENGTH_SHORT).show();는 가져 오기 오류가?

누군가 도움이된다면 도움이 될 것입니다.

답변

0

MyDialog.show(manager, "MyDialog"); 당신은 myDialog.show가 없어야합니까 - 즉, 클래스가 아닌 인스턴스입니까? 클래스 이름에서 메소드를 호출하면 정적 참조가되며 인스턴스는 필요하지 않습니다.

+0

그래, 대체해야 할 코드는 무엇입니까? – user3584935

+0

myDialog.show (... 초기 소문자로 바꾸어야합니다. – Dan

+0

Toast.makeText에 문제가있는 경우 ... 토스트 (토스트 토스트 = 새 토스트())를 인스턴스화해야 할 수도 있습니다. toast.makeText 행 (소문자 t)을 발행하십시오. –

관련 문제