调用Toast时出现未知的充气错误

时间:2012-09-18 19:38:41

标签: android

我有一个已发布的应用,它获得了一些奇怪的用户反馈。因此,对于堆栈跟踪,尝试调用Toast show()方法时出现了膨胀错误。堆栈如下:

android.view.InflateException: Binary XML file line #21: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:596)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:644)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:669)
at android.view.LayoutInflater.inflate(LayoutInflater.java:457)
at android.view.LayoutInflater.inflate(LayoutInflater.java:391)
at android.view.LayoutInflater.inflate(LayoutInflater.java:347)
at android.widget.Toast.makeText(Toast.java:247)
at my.app.name.Launcher$ActionDecider.onPostExecute(Launcher.java:155)

在第155行,我只有Toast's show()的共同调用:

Toast.makeText(LauncherAct.getContext(), "Some random string here", Toast.LENGTH_SHORT).show();

有人知道它可能是什么吗?

1 个答案:

答案 0 :(得分:0)

我有同样的问题。突然,我的Toast调用开始出现此错误Binary XML file line #21: Error inflating class。我在同一方法中再次调用我的方法,直到从网络提供程序获取所需的gps值。当我删除回忆本身时,问题就消失了。我没有得到他们之间的关系,但这有效。

public void getLocation()
{
    if(gps.canGetLocation())
    {
        latitude = gps.latitude;
        longitude = gps.longitude;
        if((latitude < 0) || (longitude < 0))
        {
            Toast.makeText(CharityGPS.this, "Konumunuz saptanıyor lütfen bekleyiniz.", Toast.LENGTH_SHORT).show();
            getLocation(); //recalling is here. when I remove it, problem has gone.
        }
        else
        {

           ...
        }
}

希望这有帮助。