2014-10-11 6 views
1

안녕 얘들 아 내 조각 내에서 작동하도록 내 imagebutton을 얻으려고하고있어. 이 코드는 Activity와 잘 동작하지만 조각 내에서 작동하도록 할 수는 없습니다. 무엇을 바꾸어야합니까? configureImage 메서드 내에서 오류가 계속 발생합니다. 감사합니다.안드로이드 이미지 버튼 조각

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.ImageButton; 
import android.widget.Toast; 

/** 
* A simple {@link Fragment} subclass. 
* 
*/ 
public class FragmentA extends Fragment { 

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

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

     configureImageButton(); 


    } 






private void configureImageButton() { 
    // TODO Auto-generated method stub 
    ImageButton btn = (ImageButton) findViewById(R.id.imageButton1); 

    btn.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Toast.makeText(FragmentA.this, "You Clicked the button!", Toast.LENGTH_LONG).show(); 

     } 
    }); 


} 

답변

2

조각 구현이 잘못되었습니다. 이렇게해라. 이이

public class FragmentA extends Fragment { 


    private View v; 

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

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

    private void configureImageButton() { 
     // TODO Auto-generated method stub 
     ImageButton btn = (ImageButton) v.findViewById(R.id.imageButton1); 

     btn.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Toast.makeText(getActivity(), "You Clicked the button!", Toast.LENGTH_LONG).show(); 

      } 
     }); 


    } 
} 
+0

감사의 말로 트릭을 만들었습니다. – user3584935

0
public class FragmentA extends Fragment { 

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

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) { 
      View view = inflater 
        .inflate(R.layout.fragment_a, container, false); 
      configureImageButton(view); 
      return view; 
     } 
     private void configureImageButton(View view) { 
     // TODO Auto-generated method stub 
     ImageButton btn = (ImageButton) view.findViewById(R.id.imageButton1); 

     btn.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Toast.makeText(getActivity(), "You Clicked the button!", Toast.LENGTH_LONG).show(); 

      } 
     }); 


    } 
} 
0

사용은 당신을 위해 작동하고 조각이를 따릅니다.

public class FragmentA extends Fragment { 
ViewGroup rootViewA; 
    ImageButton btn; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     rootViewA = (ViewGroup) inflater.inflate(
       R.layout.fragment_a, container, false); 
    btn = (ImageButton) rootViewA 
      .findViewById(R.id.imageButton1); 
    btn.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     Toast.makeText(getActivity(), "You Clicked the button!", Toast.LENGTH_LONG).show(); 

     } 
    }); 
    return rootViewA; 

} 
}