如何禁用Android上的切换按钮?

时间:2011-06-08 11:06:07

标签: android togglebutton

如果我打开第一个按钮,我将使用三个切换按钮,因此所有3个按钮都应被禁用。虽然我已经编写了代码,但我没有得到,为什么它不起作用。我的代码如下..

import android.app.Activity;

import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;


import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.Toast;
import android.widget.ToggleButton;

import com.parser.XMLData;
import com.parser.XMLDataParser;

public class SyncDataPage extends Activity
{
    ToggleButton toggle_syncing;
    ToggleButton toggle_replace_data;
    ToggleButton toggle_replace_photos;

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

        initializeToggleButtons();
    }


    private void initializeToggleButtons()
    {
        toggle_syncing = (ToggleButton) findViewById(R.id.sync_data_toggle_syncing);
        toggle_replace_data = (ToggleButton) findViewById(R.id.sync_data_toggle_data_in_contacts);
        toggle_replace_photos = (ToggleButton) findViewById(R.id.sync_data_toggle_photos_in_contacts);
        toggle_syncing.setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                if(toggle_syncing.isChecked())
                {
                    // Toast.makeText(getApplicationContext(), "Syncing Starts", Toast.LENGTH_SHORT).show();
                    toggle_syncing.setFocusable(false);
                    toggle_replace_data.setFocusable(false);
                    toggle_replace_photos.setFocusable(false);
                    btn_back.setFocusable(false);
                    bar_syncing.setVisibility(LinearLayout.VISIBLE);
                    new ContactsDataSync().execute();
                }
                else
                {
                    // Toast.makeText(getApplicationContext(), "toggle_syncing Unchecked", Toast.LENGTH_SHORT).show();
                }
            }
        });


        toggle_replace_data.setOnClickListener(new OnClickListener()
        {
          @Override
          public void onClick(View v)
          {
              if(toggle_replace_data.isChecked())
              {
                  // Toast.makeText(getApplicationContext(), "toggle_replace_data Checked", Toast.LENGTH_SHORT).show();
              }
              else
              {
                  // Toast.makeText(getApplicationContext(), "toggle_replace_data Unchecked", Toast.LENGTH_SHORT).show();
              }
          }
        });


        toggle_replace_photos.setOnClickListener(new OnClickListener()
        {
          @Override
          public void onClick(View v)
          {
              if(toggle_replace_photos.isChecked())
              {
                  // Toast.makeText(getApplicationContext(), "toggle_replace_photos Checked", Toast.LENGTH_SHORT).show();
              }
              else
              {
                  // Toast.makeText(getApplicationContext(), "toggle_replace_photos Unchecked", Toast.LENGTH_SHORT).show();
              }
          }
        });
    }

2 个答案:

答案 0 :(得分:18)

使用setEnabled(false)代替setFocusable(false)

答案 1 :(得分:0)

只需使用

setEnabled(false) 

在按钮的onClickListener()方法中。