Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的Android程序不工作,因为它看不到按钮点击功能。有人能帮我吗?_Java_Android_Button_Android Fragments_Buttonclick - Fatal编程技术网

Java 我的Android程序不工作,因为它看不到按钮点击功能。有人能帮我吗?

Java 我的Android程序不工作,因为它看不到按钮点击功能。有人能帮我吗?,java,android,button,android-fragments,buttonclick,Java,Android,Button,Android Fragments,Buttonclick,我不能运行我的Android程序,因为按钮点击功能。有人能帮我吗 我有以下代码: public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activit

我不能运行我的Android程序,因为按钮点击功能。有人能帮我吗

我有以下代码:

public class MainActivity extends ActionBarActivity {

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

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

        }       
        }); 

        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment()).commit();
        }
    }
}
当我注释掉
按钮时
code一切正常

 public class MainActivity extends ActionBarActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            /*
            Button btn1 = (Button) findViewById(R.id.button1);
            btn1.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v)
                {

            }       
            }); */

            if (savedInstanceState == null) {
                getSupportFragmentManager().beginTransaction()
                        .add(R.id.container, new PlaceholderFragment()).commit();
            }
        }
    }
如果它不在注释中,程序就不会执行

错误消息:很遗憾,“programname”已停止

logcat错误:

我把它修好了。 我在此函数中插入代码:

 public static class PlaceholderFragment extends Fragment { 
          public PlaceholderFragment() { } 
          @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
                 final View rootView = inflater.inflate(R.layout.fragment_main, container, false);          
                 Button btn1 = (Button) rootView.findViewById(R.id.button1);          
                 btn1.setOnClickListener(new View.OnClickListener() 
                 { 
                        public void onClick(View v) 
                        { }    
                 }       
                 return rootView;
           }
    } 

一切正常:)

打开您的activity\u main.xml布局文件,将其设置为
setContentView(R.layout.activity\u main)
中的布局。确保该布局文件中有按钮1,例如:

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


发生的情况是,
findViewById(R.id.button1)
在布局中找不到该视图。所以,确保它在那里。如果您可以发布您的
activity\u main.xml
文件,这将帮助我们解决问题。

您在logcat中看到了什么错误?Button可能属于片段布局。在片段的onCreate视图中初始化它很可能activity_main.xml没有id为button1的按钮。在尝试设置onClickListener时,会出现空指针异常。发布整个stacktrace。另外,这可能是因为您正在按钮顶部加载一个片段,我甚至不确定该按钮是否已加载到您的活动中。您应该发布activity_main.xml和logcat。R.id.button1是在R.layout.activity_main中还是在其他文件中?那么,一切正常吗?
<Button
  android:layout_height="wrap_content"
  android:layout_width="wrap_content"
  android:id="@+id/button1"
  android:text="Button"
/>