2016-07-06 2 views
0

Я новичок в андроид развития и я хочу для того чтобы достигнуть похоже, что в Wi-Fi или Bluetooth деятельность имеет ..Как достичь трехэтапных элементов списка, имеющих флажки?

  1. на нажав на кнопку «Включить Bluetooth» элемент списка отображается как temporerly инвалидов эффекта (серый)

  2. одновременно нижеприведенный текст изменяется от «нажмите, чтобы включить» до «включения»

  3. и Финлей после включения, элемент списка включен (с флажком проверено)

пожалуйста, помогите мне ...

ответ

0

Я предполагаю, что вы знаете, как создать макет, привязать его к деятельности и получить взгляды с findViewById. Если вы не просто Google это

Достижение эффекта, который вы хотите, это довольно легко. Вот как вы это делаете:

  • Используйте переключатель в макете (see here). Это стандартное представление для отображения кнопку двухпозиционный

  • Установите текст переключателя и onCheckedChangeListener

  • Обновление статуса выключателя после работы делается (по вашему примеру, активировать Bluetooth или WiFi)

Вот минимальный рабочий пример:

public class MainActivity extends AppCompatActivity { 

    Switch testSwitch; 

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

    //get the switch from layout 
    testSwitch = (Switch) findViewById(R.id.test_switch); 

    //set text 
    testSwitch.setText("Example switch"); 

    //set on checked change listener 
    testSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@ 
     Override 
     public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) { 
      //set switch text based on checked status 
      if (isChecked) { 
       compoundButton.setText("Turning on"); 
      } else { 
       compoundButton.setText("Turning off"); 
      } 

      //disable it 
      compoundButton.setEnabled(false); 

      //start the big long process (activate bluetooth or wifi). That's only an example 
      afterSomeTime(); 
     } 
    }); 
} 
public void afterSomeTime() { 
    //After 5 seconds update the switch 
    new Handler().postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      testSwitch.setEnabled(true); 
      if (testSwitch.isChecked()) { 
       testSwitch.setText("ON"); 
      } else { 
       testSwitch.setText("OFF"); 
      } 
     } 
    }, 5000); 
} 
} 

Надеюсь, это поможет немного

Смежные вопросы