如何为膨胀按钮创建buttonlistener

时间:2013-08-11 16:30:44

标签: android

我对Android编程很陌生,希望有人可以帮助我解决这个问题: 我正在编写其中一个演示:     http://developer.android.com/training/animation/screen-slide.html

  1. 我有一个主activity_screen_slide.xml文件:

    <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v4.view.ViewPager>

  2. 在另一个xml文件main.xml中,我有几个按钮。

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/Main" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <Button android:id="@+id/buttonStart" android:text="test"/> </LinearLayout>

  3. 在主java活动文件中,上下文设置如下:

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_screen_slide);
    

    当我尝试为testButton设置监听器时,我无法这样做。这意味着当随后生成按钮时(通过另一个java文件中的充气器),单击按钮时没有响应。

    生成充气机的java文件只是:

    ViewGroup rootView;
    rootView = (ViewGroup) inflater.inflate(R.layout.main, container, false);
    

    谢谢你并感谢你的帮助

    干杯 d

2 个答案:

答案 0 :(得分:0)

我认为您的按钮是在xml布局 activity_screen_slide.xml 中定义的,类似于:

<Button
    android:id="@+id/myButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />

在您的活动中,您可以像这样添加ClickListener:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button myButton = (Button) findViewById(R.id.myButton);
    myButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Log.i("", "I've been clicked");
        }
    });
}

答案 1 :(得分:0)

试试这个:

public class Settings extends Activity implements View.OnClickListener {


    public void onCreate(Bundle savedInstanceState) {
        //...ALL THE OTHER CODE..\\
        Button button = (Button) findViewById(R.id.YOUR_BUTTON_ID);
        button.setOnClickListener(this);
    }
     @Override
public void onClick(View view) {
    switch (view.getId()){
        case R.id.YOUR_BUTTON_ID: {

            ALPHA.YourFunction(parameters);

        }
    }
}
}