我对Android编程很陌生,希望有人可以帮助我解决这个问题: 我正在编写其中一个演示: http://developer.android.com/training/animation/screen-slide.html
我有一个主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>
在另一个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>
在主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
答案 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);
}
}
}
}