setOnCheckedChangeListener

setOnCheckedChangeListener

package com.example.koustav.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;

public class MainActivity extends Activity
{

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

    Switch swi = (Switch) findViewById(R.id.swch);
    swi.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
    {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) //Line A
        {

        }
    });

    public void onClick(View view)
    {
        boolean isOn = ((Switch) view).isChecked();

        if (isOn)
        {
            ((TextView) findViewById(R.id.largey)).setTextColor(getResources().getColor(R.color.black));
        }
        else
        {
            ((TextView) findViewById(R.id.largey)).setTextColor(getResources().getColor(R.color.white));
        }

    }

}

我正在为此项目使用Android Studio。我已经在互连网上搜索了一种解决方案,但找不到。

我一直在尝试将setOnCheckedChangeListener用于Switch对象。但是,无论我尝试什么,我总是收到无法解决符号'setOnCheckedChangeListener'错误。同样,在A行,对象buttonView用红色下划线标记,给出相同的错误无法解析符号'buttonView'

我已经导入了必要的类(class)(并推荐给其他人作为答案)。我正在使用适用于android 4.0及更高版本的API。我基本上希望通过侦听器重新实现onClick方法,因为该侦听器既可以单击也可以滑动,而onClick仅适用于单击而不是滑动。

最佳答案

您必须在Switch中初始化onCreate()

09-26 09:07