2011-10-31 1 views
0

Я хочу установить OnClickListener на моем button3.android eclipse setOnClickListener

Это активность на второй вкладке в TabHost.

import android.content.DialogInterface.OnClickListener;  

public class tab_act extends Activity { 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.second_tab); 

     findViewById(R.id.button1).setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 

      } 
     }); 

    } 
} 

XML:

<Button 
    android:id="@+id/button3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:drawableLeft="@drawable/icon_search" 
    android:drawablePadding="15dip" 
    android:text="Найти совпадения" /> 

И я получаю ERR:

Метод setOnClickListener (View.OnClickListener) в типе View не применяется для аргументов (новый DialogInterface.OnClickListener() {})

в этой строке:

findViewById(R.id.button1).setOnClickListener(new OnClickListener() { 

ответ

2

Вы импортирован неправильно OnClickListener - это должно быть

import android.view.View.OnClickListener; 

вместо import android.content.DialogInterface.OnClickListener;. Также вы настраиваете OnClickListener для кнопки с идентификатором button1 в то время как XML вы предоставили кнопку декларирует с идентификатором button3

редактировать Это лучше неявно указать его следующим образом:

findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() { 
... 
}); 

, чтобы предотвратить такие ошибки не произошло.

0

Вы делаете findViewById(R.id.button1) и вы должны делать findViewById(R.id.button3)

0

И еще одно: если вы импортировали более одного метода из 2-х разных местах (например, импортированных и использовать в одной и той же деятельности, как android.content.DialogInterface.OnClickListener и android.view.View.OnClickListener) вы не можете использовать ярлыки для обоих случаях при вызове OnClickListener, и вам придется как-то позвонить по телефону:

findViewById(R.id.button1).setOnClickListener(new android.view.View.OnClickListener() { 
     public void onClick(View v) { 

     } 
    }); 

 Смежные вопросы

  • Нет связанных вопросов^_^