2012-08-04 66 views
0

我想在我的片段中击中特定editText时烤面包。无法让onTouchListener在fragmentActivity中工作

我的片段活动:当添加

@Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onActivityCreated(savedInstanceState); 

     EditText ed2 = (EditText) getView().findViewById(R.id.editText2); 
     ed2.setOnTouchListener(new OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       if(MotionEvent.ACTION_UP == event.getAction()){ 

        Toast.makeText(getActivity(), "Hello", Toast.LENGTH_LONG).show(); 
       } 
       return false; 
      } 
     }); 
    } 

我的应用程序崩溃的碎片。我在ed2.setOnTouchListener...处得到空指针。

任何想法?

回答

1

的EditText为空。 如果你的contentview不是cotain edittext,edittext不能创建。 OnTouchListener不为空。 首先检查EditText。

+0

我的editText编号错了。感谢您的意见。 – EGHDK 2012-08-05 03:45:25

1

使用onCreateView

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.your_view, container, false); 
    EditText = ed2 = (EditText) getView().findViewById(R.id.editText2); 
    ed2.setOnTouchListener(new OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      if(MotionEvent.ACTION_UP == event.getAction()){ 

       Toast.makeText(getActivity(), "Hello", Toast.LENGTH_LONG).show(); 
      } 
      return false; 
     } 
    }); 
    return view; 
}