2012-08-08 24 views
12

मेरे पास एक ऐसा एप्लिकेशन है जिसे मैं आधुनिकीकरण कर रहा हूं। इस प्रक्रिया का एक कदम एक टुकड़े आधारित लेआउट में बदल रहा है (समर्थन पुस्तकालय से टुकड़े का उपयोग कर)। मैं टुकड़े में मेरी क्रियाएँ परिवर्तित, और लेआउट अच्छी तरह से काम कर रहा है (एक ViewPager का उपयोग कर, शांत सामान!)टुकड़ा लागू करता है OnClickListener

मिला मैं अपने क्रियाएँ मेरे बटन दबाए जरूरतों के सभी के लिए लागू OnClickListener रहा था। मेरे पास नया टुकड़ा अवतार निश्चित रूप से एक ही काम कर रहा है, लेकिन ऐसा लगता है कि "ऑनक्लिक" कभी हिट नहीं हो रहा है। क्या टुकड़े के बारे में कुछ खास है जो उन्हें इस तरह से काम करने से रोकता है?

+1

मुझे लगता है तुम्हारा मतलब यह लागू है? जैसा कि, 'पब्लिक क्लास योरफ्रैग ने फ्रैगमेंट लागू किया है ऑनक्लिक लिस्टनर'? यदि हां, तो क्या आप हमें दिखा सकते हैं कि आप श्रोता के साथ-साथ 'ऑनक्लिक' विधि को कैसे संलग्न करते हैं? – Eric

+0

क्या आप ऑन क्रिएटिव्यू विधि में ByViewId पाते हैं और फिर एक्टिविटीक्रेटेड विधि में श्रोता को जोड़ते हैं? –

+0

ओह, वाह, मैं थोड़ा overtired हूँ। हाँ, मेरा मतलब लागू करना, क्षमा करें। और मुझे लगता है कि ViewByIding और अद्यतन() विधि में श्रोता को संलग्न कर रहा है। किसके बारे में बात करना, क्या वास्तव में यह भी एक चीज है? मेरे पास एक्टिविटीक्रेटेड विधि भी नहीं है। हम्म – Nick

उत्तर

32

बस एक ऐसा करते हैं

public class fragmentOne extends Fragment implements OnClickListener { 
    Button myButton; 

    @Override 
    public View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedinstanceState) { 
     View myView = inflater.inflate(R.layout.fragment_1, container, false); 
     myButton = (Button) myView.findViewById(R.id.myButton); 
     myButton.setOnClickListener(this); 
     return myView; 
    } 

    @Override 
    public void onClick(View v) { 
     // implements your things 
    } 
} 

बहुत सरल

+1

'फ्रैगमेंट' – bcorso

+0

बढ़ाता है सरल चीजें सबसे असाधारण हैं। लेकिन केवल बुद्धिमान इसे देख पाएंगे। बहुत बहुत धन्यवाद। इसे कई घंटों तक समझने की कोशिश कर रहा था। –

+0

मैं भूल गया: myButton.setOnClickListener (यह); ओह पुरुष @@! लंबे समय के बाद एंड्रॉइड के साथ वापस आ गया मेरे समय बर्बाद कर दिया। धन्यवाद। –

2

मैं अभिजीत चक्र जवाब पर टिप्पणी करना चाहते हैं, लेकिन ऐसा लगता है कि मुझे लगता है कि के लिए 50 प्रतिनिधि की आवश्यकता है।

public void OnClick(View v) { 
    // implements your things 
} 

आप यकीन है कि यह onClick है, नहीं OnClick बनाने की जरूरत: जो अगर तुम अभिजीत का जवाब उपयोग नहीं कर सकते सोच रहे हैं के लिए, इसकी वजह से है। शुक्रिया एंड्रॉइड स्टूडियो आंतरिक त्रुटि संदेश बचाव के लिए आते हैं।

8

मैं वैश्विक पहुँच के लिए OnClick कार्रवाई का उपयोग करने के ध्यान दिया जाएगा, आप इस तरह क्या करना है अपनी परियोजना है, View.OnClickListener को लागू करना चाहिए, तो विधि OnClick() ओवरराइड, में OnCreateView() को इस बटन_submit.setOnClickListener (यह) की तरह करना है; आपको जिस दृश्य की आवश्यकता है, कृपया उत्तर के लिए नीचे दिए गए कोड को देखें, धन्यवाद।

public class New_Project extends Fragment implements View.OnClickListener{ 

       private View mView; 
       private EditText edttxt_projectname; 
       private Button button_submit; 

       @Override 
       public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

        mView = inflater.inflate(R.layout.fragment_newproject, container,false); 
        edttxt_projectname=(EditText)mView.findViewById(R.id.edttxt_projectname); 
        button_submit=(Button)mView.findViewById(R.id.button_submit); 

        button_submit.setOnClickListener(this); 

        return mView; 
       } 


       @Override 
       public void onClick(View v) { 
        switch (v.getId()) { 
        case R.id.button_submit: 
         edttxt_projectname.setText("Test Submit!#@%!#%"); 
         break; 
       default: 
         break; 
        } 

       } 
    } 
0
view.setOnLongClickListener(new View.OnLongClickListener() { 
    @Override 
    public boolean onLongClick(View v) { 
    switch (v.getId()) { 
     case R.id.imgView1: 
     Toast.makeText(getActivity(), "Long pressing", Toast.LENGTH_SHORT).show(); 
     updateImage(); 
     break; 
     case R.id.imgView2: 
     Toast.makeText(getActivity(), "Long pressing", Toast.LENGTH_SHORT).show(); 
     updateImage(); 
     break; 
     case R.id.imgView3: 
     Toast.makeText(getActivity(), "Long pressing", Toast.LENGTH_SHORT).show(); 
     updateImage(); 
     break; 
     default: 
     break; 
    } 
संबंधित मुद्दे