Android:如果我将 Switch OnClickListener 放在 FragmentActivity 上,我的应用程序将无法运行

Posted

技术标签:

【中文标题】Android:如果我将 Switch OnClickListener 放在 FragmentActivity 上,我的应用程序将无法运行【英文标题】:Android: My app won't run if I put Switch OnClickListener on a FragmentActivity 【发布时间】:2015-01-18 04:02:56 【问题描述】:

我是 android 编程的初学者。请帮我解决这个问题。

Activity_main.xml

 <Button
     android:id="@+id/button1"
     android:layout_
     android:layout_
     android:layout_alignLeft="@+id/textView4"
     android:layout_below="@+id/imageView2"
     android:background="#2c3e50"
     android:enabled="false"
     android:minHeight="15dip"
     android:padding="3dp"
     android:text="Read More..."
     android:textColor="#fff"
     android:textColorHint="#fff"
     android:textSize="9sp" />

MainActivity.java

public class MainActivity extends FragmentActivity 
Button switchButton1 = (Button) findViewById(R.id.button1);
switchButton1.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View v) 
            Intent intent = new Intent(MainActivity.this,Caraga_Agusan_del_norte.class);
            startActivity(intent);
        
    );

此代码不会运行。

【问题讨论】:

你的 onCreate(..) 在哪里? 【参考方案1】:

试试这个方法

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

    Button switchButton1 = (Button) findViewById(R.id.button1);
    switchButton1.setOnClickListener(new View.OnClickListener() 
    @Override
    public void onClick(View v) 
        Intent intent = new Intent(MainActivity.this,Caraga_Agusan_del_norte.class);
        startActivity(intent);
     
  );

【讨论】:

【参考方案2】:

你必须跑

Button switchButton1 = (Button) findViewById(R.id.button1);
switchButton1.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View v) 
            Intent intent = new Intent(MainActivity.this,Caraga_Agusan_del_norte.class);
            startActivity(intent);

        
    );

在您调用setContentView 之后,该按钮必须在您作为参数提供给setContentViewxml 内声明

【讨论】:

以上是关于Android:如果我将 Switch OnClickListener 放在 FragmentActivity 上,我的应用程序将无法运行的主要内容,如果未能解决你的问题,请参考以下文章

Android检查int是不是在区间+ switch语句中

android studio 快速输入怎么 输出switch

Appium Android 如何检查switch开关状态

android switch控件的注册监听控制

我将如何使用 Switch 案例执行 OR 语句? (PHP)

开关switch系列:android Switch显示文字