2010-10-25 61 views
2

好吧,我有1個自定義吐司(XML佈局)和它的偉大工程:安卓:2個祝酒同時

LayoutInflater inflater = getLayoutInflater(); 
    View layout = inflater.inflate(R.layout.custom_toast, (ViewGroup) findViewById(R.id.toast_layout)); 
    ImageView image = (ImageView) layout.findViewById(R.id.logo);   
    image.setImageResource(R.drawable.logo); 
    title = (TextView) layout.findViewById(R.id.title);   
    txt = (TextView) layout.findViewById(R.id.text); 
    toast = new Toast(appContext); 
    toast.setGravity(Gravity.FILL_HORIZONTAL|Gravity.BOTTOM, 0, 0); 
    toast.setDuration(Toast.LENGTH_LONG); 
    toast.setView(layout);   

但是,當我試圖讓:第二個同樣的方式,我得到錯誤「未找到源」這並沒有告訴我什麼是錯的。

LayoutInflater infl = getLayoutInflater(); 
    View lay = infl.inflate(R.layout.toast_arrows, (ViewGroup) findViewById(R.id.toast_lay));       
    toastarrows = new Toast(appContext); 
    toastarrows.setGravity(Gravity.FILL_HORIZONTAL|Gravity.CENTER, 0, 0); 
    toastarrows.setDuration(Toast.LENGTH_SHORT); 
    toastarrows.setView(lay);     
    toastarrows.show(); 

我希望這兩個祝酒幾乎同時出現在屏幕的不同位置。 任何人都可以告訴我請這個代碼有什麼問題?

+0

調試顯示toastarrows值爲null。在這兩個例子中,我不會真正理解它們的不同之處。 – yosh 2010-10-25 08:52:11

+0

這就像「toastarrows = new Toast(appContext);」是造成問題的原因之一。任何想法爲什麼? :/ Toastarrows之前被聲明爲「私有Toast toastarrows」,而appContext只是getApplicationContext變量。 – yosh 2010-10-25 09:22:18

+0

好吧,出於某種原因,新Toast(getApplicationContext())可以工作,但我仍然看不到第二道敬酒。 – yosh 2010-10-25 09:32:22

回答

0

你確定你可以同時顯示2吐司? 我不知道這個,我試過了,但我只能顯示一個吐司。 你試圖只顯示第二個?

+0

我放棄了,並重新格式化第一個顯示兩個。現在與複雜的XML佈局戰鬥;)第二個單獨工作,但僅在第一個結束後顯示。 – yosh 2010-10-25 11:04:37

+0

所以我們只能在當時添加一個Toast :)也許Toast類使用了一些靜態方法和變量,所以我們不能同時修改它。 :) – DX89B 2010-10-25 11:26:01

0

看起來,如果你真的在同一時間創造兩個敬酒,他們仍然會在同一個地方一個接一個地展示。所以我認爲你的徘徊是徒勞的。