2014-04-28 14 views
1

我在activity_main.xml只有在複選框被選中的情況下,如何顯示敬酒信息?

一個checkbox和我有以下代碼:

public class UpdateService extends Service { 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON); 
     filter.addAction(Intent.ACTION_SCREEN_OFF); 
     BroadcastReceiver mReceiver = new ScreenReceiver(); 
     registerReceiver(mReceiver, filter); 
    } 

    @Override 
    public void onStart(Intent intent, int startId) { 
     boolean screenOn = intent.getBooleanExtra("screen_state", false); 
     if (!screenOn) { 
      Toast.makeText(getApplicationContext(), "Screen is turned ON. Broadcast Received", Toast.LENGTH_LONG).show(); 
      //Want to display this toast message only in checkbox is checked 
     } else { 
     } 
    } 

    @Override 
    public IBinder onBind(Intent intent) { 
     // TODO Auto-generated method stub 
     return null; 
    } 
} 

我想顯示Toast通知,只有當checkboxchecked否則不應該顯示。

+0

當你在sharedpreference檢查複選框,然後儲值,然後在這裏檢查...比較y我們的價值與儲值如果是,然後顯示吐司消息。 – Riser

+0

是否要訪問服務中的複選框? – Kedarnath

+0

是的。我想訪問服務中的複選框 –

回答

1
CheckBox Chk = (CheckBox) findViewById(R.id.checkbox); 
        Chk.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

         public void onCheckedChanged(CompoundButton buttonView, 
           boolean isChecked) { 
          if (isChecked) { 
          Toast.makeText(context, "Screen is turned ON. Broadcast Received", Toast.LENGTH_LONG).show(); 
          } 
         } 
        }); 

試試這個,這將很好地工作

+0

獲取以下錯誤 findViewById:findViewById(int)方法未定義類型UpdateService –

+0

您正在尋找錯誤的方式,請檢查它 –

+0

請問你能否正確告訴我。我無法弄清楚。 –

0

下的onCreate

mSavePassword = (CheckBox) findViewById(R.id.checkBox1); 

    mSavePassword.setOnClickListener(this); 

在ONCLICK

@Override 
    public void onClick(View view) 
    { 

    switch(view.getId()) 
    { 

    case R.id.checkBox1: 

    Toast.makeText(context, "Screen is turned ON. Broadcast Received", Toast.LENGTH_LONG).show(); 
     break; 
    } 
    } 
相關問題