Кнопка OnClick не работает

голоса
4

Я сделал ViewPager с тремя раскладками на каждой странице ... И я хочу иметь дело с кнопкой на второй странице, но почему-то я не могу ... (PS: без кнопки кодов, мой ViewPager работает) Я просто пытаюсь изменить фон при нажатии ...

Вот мои коды:

public class ViewPagerProjectActivity extends Activity implements OnClickListener{

Button btn;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ViewPagerAdapter adapter = new ViewPagerAdapter( this );
    ViewPager pager = (ViewPager)findViewById( R.id.viewpager );
    pager.setAdapter( adapter );
    pager.setCurrentItem(0);


}


public void OnClick(View v) {
    if(v.equals(btn)) {
    LinearLayout l = (LinearLayout) findViewById(R.id.deneme2);
            l.setBackgroundDrawable(getResources().getDrawable(R.drawable.background));
    }       
}    
}

А вот ошибка:

E/AndroidRuntime(273): FATAL EXCEPTION: main
E/AndroidRuntime(273): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.yahya.ViewPagerProject/com.yahya.ViewPagerProject.ViewPagerProjectActivity}: java.lang.ClassCastException: com.yahya.ViewPagerProject.ViewPagerProjectActivity
E/AndroidRuntime(273):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
E/AndroidRuntime(273):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
E/AndroidRuntime(273):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
Задан 01/02/2012 в 14:04
источник пользователем
На других языках...                            


7 ответов

голоса
1
> btn.setOnClickListener((OnClickListener) this);

Это не работает , потому что ViewPagerProjectActivity не имеет требуемого

implements OnClickListener интерфейс

Ответил 01/02/2012 в 14:07
источник пользователем

голоса
1

пытаться

 public class ViewPagerProjectActivity extends Activity implements OnClickListener

 then btn.setOnClickListener(this); 
Ответил 01/02/2012 в 14:12
источник пользователем

голоса
2

Попробуйте использовать:

public class ViewPagerProjectActivity extends Activity {

Button btn;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ViewPagerAdapter adapter = new ViewPagerAdapter( this );
    ViewPager pager = (ViewPager)findViewById( R.id.viewpager );
    pager.setAdapter( adapter );
    pager.setCurrentItem(0);

    LinearLayout l = (LinearLayout) findViewById(R.id.layout1);
    btn = (Button) findViewById(R.id.button1);    
    btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {               

             l.setBackgroundDrawable(getResources().getDrawable(R.drawable.background));
        }
    });
}
Ответил 01/02/2012 в 14:16
источник пользователем

голоса
0

Даже я столкнулся с такого рода проблемой, когда я добавить элемент пользовательского интерфейса в файл XML ..

Я только что удалил этот конкретный элемент из XML-файла и построить проект и снова вернулся файл. Проблема удалось решить. Выглядит crazy..But только один раз попробовать.

Ответил 01/02/2012 в 18:36
источник пользователем

голоса
10

Попробуйте эти строки, я надеюсь, что это работает ...

View deneme2lout = (View) getView.inflate(R.layout.deneme2,null);
btn = (Button) deneme2lout.findViewById(R.id.button1);
btn.setOnClickListener(this);
Ответил 30/03/2012 в 08:46
источник пользователем

голоса
0

Когда вы пытаетесь справиться нажать кнопку в вас есть два варианта

  1. В макете XML файл установки андроида: OnClick на что - то вроде «myButtonClick». Затем в связанном файле .java активности , в котором ваш собирается использовать этот макет есть метод public void myButtonClick(View v). Затем поместите вашу логику там.
  2. В вашем OnCreate () положить

    btn = (Button) findViewById(R.id.button1);  
    btn.setOnClickListener(new OnClickListener() {
    
      @Override
      public void onClick(View arg0) {               
    
         //Your logic here
      }
    });
    
Ответил 02/04/2012 в 09:31
источник пользователем

голоса
0

Я думаю, что это поможет вам ..

использовать кнопки в Android ...

карта кнопки в файле XML с кнопкой в ​​Java файле класса, как ...

Button bt=(Button)findViewById(R.layout.button_id_in_your_xml);

следующий .. вызовите onclickListener для кнопки Bt следующим образом ..

bt.setOnClickListener(new View.onClickListener(){

public void onClick(View arg0) {

    //write what you want to do when you click the button
}
);
Ответил 04/04/2012 в 08:50
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more