딸기스무디

Fragment에서 Toast, Button 사용 예제 본문

android

Fragment에서 Toast, Button 사용 예제

strawberry-smoothie 2020. 10. 3. 23:03

Fragment에서는 Activity에서 사용하던 방식(?)으로 사용하면 동작하지 않습니다.

 

 

context인자로 this를 주면 이런 오류메시지를 출력합니다.

error: no suitable method found for makeText(<anonymous OnClickListener>,String,int)

 

 

Toast

Toast.makeText(getActivity(), "myText", Toast.LENGTH_SHORT).show(); 

toast는 context인자로 this가 아닌 getActivity()를 넘겨주어야 합니다. 나머지 length나 text사용법은 동일합니다.

 

 

 

Button

public class mainFragment extends Fragment{
// ... 

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {	
    View myView = inflater.inflate(R.layout.fragment_main, container, false);
    Button mybutton = myView.findViewById(R.id.button01);
    
    mybutton.setOnClickListener(new View.OnClickListener() {
    	@Override
        public void onClick(View v){
        	Toast.makeText(getActivity(), "myText", Toast.LENGTH_SHORT);
            // Button Activity
            }
    });
    return myView
}

LayoutInflater로 View 객체를 만들어주어야 합니다.

 

 

 

 

만약 Fragment가 동작하지않거나 반응이 없다면 먼저 MainActivity.class에 fragment객체를 생성해 주었는지 확인해보세요

fragment = new mainFragment();

 

Comments