Динамический фон на основе таймера (линейное расположение), как? - PullRequest
0 голосов
/ 10 сентября 2011

Привет, я новичок в программировании на ОС Android, и у меня возникла проблема, я не могу понять, как создать динамический фон, основанный на таймерах (скажем, каждые 10 секунд фон меняется на другой) У меня есть некоторый код, но он выдал ошибку, вот пример:

private static final long GET_DATA_INTERVAL = 10000;
int images[] = {R.drawable.smothie1,R.drawable.omletherb1};
int index = 0;
ImageView img;
Handler hand = new Handler();

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.main);
    LinearLayout layout= (LinearLayout)findViewById(R.id.LinearView1);
    hand.postDelayed(run, GET_DATA_INTERVAL);
}

Runnable run = new Runnable() {
    public void run() {
        layout.setBackgroundResource(LinearView1).getDrawable(images[index++]);
        if (index == images.length)
            index = 0;
        hand.postDelayed(run, GET_DATA_INTERVAL);

Любая помощь будет очень признательна: D спасибо

РЕДАКТИРОВАТЬ : Я получаю ошибки в этой строке:

layout.setBackgroundResource(LinearView1).getDrawable(images[index++]);

Это говорит о том, что:

-выпуск не может быть разрешен

- метод getDrawable (int) не определен для типа Object


Эта ошибка:

layout.setBackgroundResource(LinearView1).getDrawable(images[index++]);

Это говорит о том, что:

-приложение не может быть разрешено

- метод getDrawable (int) не определен для типа Object

Пожалуйста, помогите:)

1 Ответ

1 голос
/ 15 сентября 2011

Я наконец-то с этим справился, после устранения нескольких ошибок я придумал следующее (и оно работает):

открытый класс CookBookActivity расширяет Activity { / ** Вызывается при первом создании действия. * /

private static final long GET_DATA_INTERVAL = 1000;
int images[] = {R.drawable.omletherb1,R.drawable.smothie1};
int index = 0;
LinearLayout img;
Handler hand = new Handler();
private LinearLayout layout;

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.main);
    layout = (LinearLayout)findViewById(R.layout.main);
    hand.postDelayed(run, GET_DATA_INTERVAL);

    Typeface tf2 = Typeface.createFromAsset(getAssets(),
            "fonts/BPreplay.otf");
    TextView tv2 = (TextView) findViewById(R.id.textView2);
    tv2.setTypeface(tf2);


    Typeface tf = Typeface.createFromAsset(getAssets(),
            "fonts/BPreplay.otf");
    TextView tv = (TextView) findViewById(R.id.textView1);
    tv.setTypeface(tf);


    Button mainNext = (Button) findViewById(R.id.nextScreen1);
    mainNext.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            Intent i = new Intent();
            i.setClassName("com.unKnown.cookbook", "com.unKnown.cookbook.screen1");
            startActivity(i);

        }
    });
}

Runnable run = new Runnable() {
    public void run() {
        layout.setBackgroundDrawable(getDrawable(index++));
        if (index == images.length)
            index = 0;
        hand.postDelayed(run, GET_DATA_INTERVAL);

    }
};

protected Drawable getDrawable(int i) {
    // TODO Auto-generated method stub
    return getResources().getDrawable(images[i%2]);
}

}

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