2013-01-10 18 views
5

मैं घर प्रतिस्थापन आवेदन पर काम कर रहा हूं।एंडक्लिक लिस्टनर के साथ एंड्रॉइड स्टार्ट गतिविधि?

The method startActivity(Intent) is undefined for the type new View.OnClickListener(){}

इस कोड एडाप्टर MyPagerAdapter अंदर है: मैं जावा के साथ एक बटन लेकिन जिस तरह से मैं कोशिश कर रहा हूँ करने के लिए एक OnClickListener जोड़ने के लिए कोशिश कर रहा हूँ त्रुटि पैदा करता है।

buttonItem.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent = new Intent("com.android.contacts.ContactsApplication"); 
      startActivity(intent); 
     } 
    }); 

मैं कैसे जोड़ सकते हैं एक एक बटन किसी अन्य अनुप्रयोग खुलती है, उदाहरण के com.android.contacts.ContactApplication के लिए की तरह करने के लिए OnClickListener:

यह मैं क्या कोशिश कर रहा हूँ है?


संपादित करें: यह अभी मैं क्या कोशिश कर रहा हूँ के साथ, पूर्ण कोड है:

public class MyPagerAdapter extends PagerAdapter { 

    @Override 
    public Object instantiateItem(View container, int position) { 
     Context context = container.getContext(); 
     LinearLayout layout = new LinearLayout(context); 
     SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); 
     TextView textItem = new TextView(context); 
     Button buttonItem = new Button(context); 
     buttonItem.setText("Aceptar"); 

     // This is what I'm trying, (crashes on click) 
     buttonItem.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent("com.android.contacts.ContactsApplication"); 
       v.getContext().startActivity(intent); 
      } 
     }); 
+0

वास्तव में क्या में इस कोड है? एक गतिविधि? –

+0

यह पेजर एडाप्टर पर है। – lisovaccaro

+0

वैसे भी, 'v.getContext()। StartActivity (इरादा) का उपयोग करें;' एप्लिकेशन लॉन्च करने के लिए, और ग्रिड का जवाब सही तरीके से करने के लिए। (उत्तर हटा दिया क्योंकि यह वास्तव में एक उद्देश्य की सेवा नहीं करता है)। –

उत्तर

9
buttonItem.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Intent i = new Intent(); 
     i.setComponent(new ComponentName("com.android.contacts", "com.android.contacts.DialtactsContactsEntryActivity")); 
     i.setAction("android.intent.action.MAIN"); 
     i.addCategory("android.intent.category.LAUNCHER"); 
     i.addCategory("android.intent.category.DEFAULT"); 
     v.getContext().startActivity(i); 
    } 
+1

करने में काम करता है यह कैसे मदद की जाती है? उसका प्रश्न पढ़ें। – dymmeh

+0

@dymmeh संपर्क अनुप्रयोग लॉन्च करने का यह सही तरीका है। –

+0

@ ए - सी - इरादा सवाल में नहीं था। उनके जवाब में स्टार्ट एक्टिविटी को कॉल करना शामिल था, इस सवाल के बावजूद कि स्टार्ट एक्टिविटी मौजूदा दायरे में उपलब्ध नहीं है। हालांकि, उनके संपादन ने उन सभी को ठीक किया – dymmeh

1
(findViewById(R.id.button)).setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     startActivity(new Intent(v.getContext(), ACTIVITY.class)); 
    } 
}); 
संबंधित मुद्दे