2011-03-17 10 views
7

पर हल नहीं किया जा सकता है हैलो प्रोग्रामिंग के लिए नया है, मैं अपना पहला सरल एप्लिकेशन बनाने की कोशिश कर रहा हूं, मैं एक छविबटन के धक्का पर एक छोटी साउंडक्लिप खेलना चाहता हूं।OnClickListener को किसी प्रकार (ग्रहण)

मेरा कोड टाइप करते समय मुझे कथन के साथ एक त्रुटि मिलती है;

Button.setOnClickListener(new OnClickListener() { 

क्लिक पर श्रोता को रेखांकित किया जाता है और जब मैं त्रुटि ग्रहण करने के लिए जाना मुझसे कहता है कि OnClickListener एक विशेष प्रकार के हल नहीं किया जा सकता है।

यहाँ मेरी कोड है:

import android.app.Activity; 
import android.os.Bundle; 
import android.view.view; 
import android.view.view.OnClickListener; 
import android.widget.Button; 
import android.widget.ImageButton; 

public class main extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

final ImageButton Button = (ImageButton) findViewById(R.id.imageButton1); 
Button.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     // Perform action on clicks 

    } 
}); 

मैं सुझाव जोड़ने वाले ने कहा कि पढ़ा;

import android.view.view; 

रूप में अच्छी तरह के रूप में

import android.view.view.OnClickListener; 

इन आयात बयान भी प्रकाश डाला है। क्या इन त्रुटियों के कारण मेरे कंप्यूटर पर ग्रहण स्थापित किया जा सकता है?

किसी भी मदद की बहुत

+0

ऑनक्लिक लिस्टेनर्स के साथ मेरे ऐप्स में आयात विवरण इस तरह के दूसरे 'दृश्य' को कैपिटल करता है: import android.view.View.OnClickListener; हालांकि मैं कभी भी इन आयात विवरणों को टाइप नहीं करता हूं।ग्रहण शिफ्ट में + ctrl + o आपको आवश्यक किसी भी आयात को जोड़ देगा, और जो भी आप नहीं करेंगे उसे हटा दें। – FoamyGuy

+0

अपना आयात कथन हटाएं और ऑनक्लिक लिस्टनर – schwiz

+0

पर राइट क्लिक करके ग्रहण को अपने लिए जोड़ दें। आपका वर्ग नाम इस 'मुख्य' जैसा नहीं हो सकता है। यह शीर्षक शीर्षक होना चाहिए जैसे 'मुख्य' – Pankaj

उत्तर

12

सराहना की होगी शुरुआत के लिए, यह हमेशा सबसे अच्छा ग्रहण दोहन से सभी आयातों का प्रबंधन करते हैं करने के लिए Ctrl + Shift + हे जब आप एक आयात त्रुटि देखते हैं।

ऐसा लगता है कि आपकी समस्या की वजह से है:

import android.view.view; 

कौन होना चाहिए:

import android.view.View; 

ही android.view.View.OnClickListener साथ चला जाता है।

यदि आप मैन्युअल रूप से जोड़े गए दो पंक्तियों को हटाते हैं और Ctrl + Shift + O दबाते हैं, तो सब कुछ स्वयं को ठीक करना चाहिए।

+1

उत्तर के लिए सभी को धन्यवाद, समस्या ठीक हो गई थी मेरे पूंजीकरण को सॉर्ट करके, मैंने मैन्युअल आयात को हटाने की कोशिश की, फिर ctrl + shift + o को मार दिया लेकिन वास्तव में बंडल और गतिविधि आयात के अलावा सबकुछ हटा दिया। – Ben

0

दूसरा "दृश्य" आयात बयान में एक वर्ग (इसलिए, OnClickListener एक आंतरिक वर्ग/इंटरफेस है) और पूंजीकृत किया जाना चाहिए है:

import android.view.View.OnClickListener; 
+0

हाय, @antonyt कृपया इसे जांचें यदि आप http://stackoverflow.com/questions/5345470/onclicklistener-cannot-be-resolved-to-a-type-eclipse –

0

सुनिश्चित करें कि आपके वर्ग को लागू करता है बनाने के OnClickListener

public class main extends Activity implements OnClickListener { 
4

जोड़े

import android.view.View.OnclickListener 
अपने import अनुभाग के लिए

और यह काम करना चाहिए।

+0

TYPO: क्लिक में पूंजी सी होना चाहिए। – Azurespot

0

इस सार्वजनिक अमूर्त वर्ग MainActivity तरह गतिविधि फैली अगर आप अभी भी त्रुटि है आप वर्ग सार कर सकते हैं लागू करता OnClickListener {

0

आप नए एंड्रॉयड स्टूडियो का उपयोग कर रहे हैं, तो आप View.OnClickListener रूप में अपने नए OnClickListener घोषित करना चाहिए । अन्यथा एंड्रॉइड स्टूडियो भ्रमित हो जाता है और समझ में नहीं आता है।

संबंधित मुद्दे