2013-10-19 8 views
6

से शुरू करने का इरादा मैं कस्टम ऑनक्लिक श्रोता से एक नई गतिविधि शुरू करने की कोशिश कर रहा हूं। लेकिन यह ऑनक्लिक श्रोता से मेनएक्टिविटी इंस्टेंस तक पहुंचने में असमर्थ है। इसके अलावा, यह इरादे के लिए गलत कन्स्ट्रक्टर दिखा रहा है। यहां मेरा कोड है:onclicklistener

public class ChartClickListener implements OnClickListener { 
    private String ChartLink; 
    public ChartClickListener(String chartLink){ 
     this.ChartLink=chartLink; 
    } 
    @Override 
    public void onClick(View view) { 
     // TODO Auto-generated method stub 
     Intent intent=new Intent(MainActivity.this,ChartImageActivity.class); 
     intent.putExtra("chartLink", ChartLink); 
     startActivity(intent); 
    } 
} 

अग्रिम सहायता के लिए धन्यवाद।

@Override 
    public void onClick(View view) { 
     // TODO Auto-generated method stub 
     Intent intent=new Intent(view.getContext(),ChartImageActivity.class); 
     intent.putExtra("chartLink", ChartLink); 
     startActivity(intent); 
    } 
+0

आशय निर्माता की पहली पैरामीटर, करने के लिए एक संदर्भ वस्तु – Blackbelt

+0

पास संदर्भ है कन्स्ट्रक्टर और इसका उपयोग शुरू करने के लिए –

+0

अपनी लॉगकट जानकारी –

उत्तर

23

अपने कोड को संशोधित करें।

4

इस

@Override 
    public void onClick(View view) { 
     // TODO Auto-generated method stub 
     Intent intent=new Intent(view.getContext(),ChartImageActivity.class); 
     intent.putExtra("chartLink", ChartLink); 
     view.getContext().startActivity(intent);//Changed Here 
    } 

तरह की कोशिश आशा है कि यह काम करेगा

+0

पोस्ट करें क्योंकि यह काम नहीं करेगा क्योंकि, MainActivity.this ऑनक्लिक श्रोता वर्ग –

+0

के दायरे में नहीं है धन्यवाद! यह मेरे लिए काम किया, जवाब नहीं जो सही के रूप में चिह्नित किया गया था। – coderama

+0

@ कोडरमा मुझे खुशी है कि इससे आपकी मदद मिली। –

2

बदलें view.getContext() साथ MainActivity.this और यह काम करेगा: के रूप में

4

पास गतिविधि श्रोता रीति के onclick संदर्भ और इस संदर्भ का उपयोग startactivity को

public class ChartClickListener implements OnClickListener { 
    private String ChartLink; 
    Context c; 
    public ChartClickListener(String chartLink,Context context){ 
     this.ChartLink=chartLink; 
     this.c=context; 
    } 
    @Override 
    public void onClick(View view) { 
     // TODO Auto-generated method stub 
     Intent intent=new Intent(c,ChartImageActivity.class); 
     intent.putExtra("chartLink", ChartLink); 
     c.startActivity(intent); 
    } 

} 

के रूप में सेट setOnClickListener

ChartClickListener chartclicklistener=new ChartClickListener("chartLink",MainActivity.this); 
b.setOnClickListener(chartclicklistener); 
संबंधित मुद्दे