как надуть один макет на какое-то время, а потом на другой? - PullRequest
0 голосов
/ 13 марта 2012

У меня есть один макет, и я использую его для отображения двух разных экземпляров.Пожалуйста, смотрите код ниже, я думаю, что эта логика должна работать, но она не работает.

setContentView(R.layout.notification);
//Notify user if Battery level is low
        if (iBatlevel <= 50)
        {

            ImageButton CamButton = (ImageButton) findViewById(R.id.imageButton2);
            CamButton.setVisibility(View.GONE);
            ImageButton PButton = (ImageButton) findViewById(R.id.imageButton1);
            PButton.setVisibility(View.GONE);
            ProgressBar _batPB = (ProgressBar) findViewById(R.id.progressBar);
            _batPB.setProgress(iBatlevel);
            _batPB.setVisibility(View.VISIBLE);
            TextView _batText = (TextView) findViewById(R.id.notifymsg);
            _batText.setText("!!! Low Battery !!!\n"+Integer.toString(iBatlevel)+"%"+" remaining");

            //Wait for 4 seconds
            Handler handler = new Handler(); 
            handler.postDelayed(new Runnable() { 
                public void run() {                    
                } 
            }, 400000); 
        }   
        /*****************************************************************************************/


        //To check whether SDcard is present are not
        boolean isSDCardPresent = android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
    //    Intent intent = null;
        if(isSDCardPresent)
        {
        //  setContentView(R.layout.sdcard);
            ImageButton CamButton = (ImageButton) findViewById(R.id.imageButton2);
            CamButton.setVisibility(View.VISIBLE);
            ImageButton PButton = (ImageButton) findViewById(R.id.imageButton1);
            PButton.setVisibility(View.VISIBLE);

            ProgressBar _batPB = (ProgressBar) findViewById(R.id.progressBar);
            _batPB.setVisibility(View.GONE);
            Drawable warning_img = getApplicationContext().getResources().getDrawable( R.drawable.warning );
            TextView warning = (TextView) findViewById(R.id.notifymsg);
            warning.setText("SDcard not found !!!");
            warning_img.setBounds( 0, 0, 30, 30 );
            warning.setCompoundDrawables( warning_img, null, null, null );

            // intent = new Intent(this,SDcard.class);
            // startActivity(intent);
           // finish();
        }

Если батарея разряжена, соответствующая раскладка должна отображаться в течение некоторого времени, а затем другой, но, несмотря на батареюЦикл это правда, я получаю только представление SDcard.Есть идеи как обойтись?

1 Ответ

0 голосов
/ 14 марта 2012

Как обычно я решаю эту проблему, это раздуваю оба экземпляра в отдельные макеты с общим родительским макетом. Затем программно переключите видимость макета, который я хочу показать, в зависимости от состояния батареи (или чего-либо еще). Один макет всегда будет видимым, в то время как другой макет всегда будет унесен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...