2015-03-17 20 views
16

Bir metin görüntüm var, tıklandığında, bir iletişim kutusu içinde bir listeyi görüntülüyorum. Bu kod iyi çalışıyordu, ama bugün istisna atıyor.

tvSelectedFont = (TextView)findViewById(R.id.lblQuoteSelectedFont); 
    tvSelectedFont.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      ListView listView = new ListView(context); 
      listView.setAdapter(new ArrayAdapter<String>(context, android.R.layout.simple_list_item_1, 
        new String[] {"Default", "Serif", "Monospace"})); 
      final Dialog dialog = new Dialog(context); 
      dialog.setContentView(listView); 
      dialog.setTitle(R.string.txt_settings_QuotefontName); 

      listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
        String selectedTypeFace = ((TextView)view).getText().toString(); 
        tvSelectedFont.setText(selectedTypeFace); 
        switch(selectedTypeFace) 
        { 
         case "Serif": 
          selectedQuoteTypeFace = Typeface.SERIF; 
          break; 
         case "Monospace": 
          selectedQuoteTypeFace = Typeface.MONOSPACE; 
          break; 
         default: 
          selectedQuoteTypeFace = Typeface.DEFAULT; 
          break; 
        } 
        tvQuoteTextSample.setTypeface(selectedQuoteTypeFace, selectedQuoteFontStyle); 
        dialog.dismiss(); 
       } 
      }); 

      dialog.show(); 
     } 
    }); 

logcat hatası bunu gösterir::

Device driver API version: 29 
User space API version: 29 
03-17 14:33:24.701 23220-23220/com.example.manas.dailyquoteswidget E/﹕ mali: REVISION=Linux-r3p2-01rel3 BUILD_DATE=Tue Jul 22 19:59:34 KST 2014 
03-17 14:33:27.926 23220-23220/com.example.manas.dailyquoteswidget E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: com.example.manas.dailyquoteswidget, PID: 23220 
android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x2/d=0x7f0100a7 a=3} 
     at android.content.res.Resources.loadDrawable(Resources.java:3415) 
     at android.content.res.TypedArray.getDrawable(TypedArray.java:602) 
     at android.widget.AbsListView.<init>(AbsListView.java:1089) 
     at android.widget.ListView.<init>(ListView.java:152) 
     at android.widget.ListView.<init>(ListView.java:148) 
     at android.widget.ListView.<init>(ListView.java:144) 
     at com.example.manas.dailyquoteswidget.DailyQuotesWidgetConfigureActivity$6.onClick(DailyQuotesWidgetConfigureActivity.java:182) 
     at android.view.View.performClick(View.java:4640) 
     at android.view.View$PerformClick.run(View.java:19425) 
     at android.os.Handler.handleCallback(Handler.java:733) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:146) 
     at android.app.ActivityThread.main(ActivityThread.java:5593) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
     at dalvik.system.NativeStart.main(Native Method) 

çözemiyorum sorun

bu benim kodudur. Herhangi bir yardım lütfen?

+0

bu DailyQuotesWidgetConfigureActivity.java:182 mi? – Blackbelt

+0

Merhaba, 182 satırı şu: ListView listView = new ListView (context); listView.setAdapter (new ArrayAdapter (context, android.R.layout.simple_list_item_1, yeni Dize [] {"Varsayılan", "Serif", "Monospace"})); – BuggyCoder

+0

@BuggyCoder: 'dialog.setTitle (v.getContext(). GetResources(). GetString (R.string.txt_settings_QuotefontName)) 'yerine' dialog.setTitle (R.string.txt_settings_QuotefontName) ' –

cevap

8

Bunu çözdüm, kodla ilgili bir sorun değildi, tema. Son zamanlarda, bu sorun başladıktan sonra temayı android:theme="@style/AppTheme"'dan android:theme="@style/Theme.AppCompat.NoActionBar"'a değiştirdim. Tekrar çalışmaya başladığım eski AppTheme dönemini geri aldım. NoActionBar temasının iletişim kutuları için uyumlu olmadığı anlaşılıyor.

+2

Bu bir çözümdür, bir çözüm değil. .. – surfer190

69

Yaptığım son uygulamada bu sorunla karşılaştım. Benim durumumda, problem ben eski android API'sinde mevcut olmayan drawable-v21 adlı klasöre bir resim koydu.

Çözüm, çekilişinizi -... dpi klasörlerine de yerleştirmektir.

Bu yardımcı olur umarım.

+2

Teşekkürler! büyük bir problem için çok basit bir çözüm. –

1

Farklı bir durumda bu hatayı inceledim ve yanlışlıkla R.drawable.something yerine R.id.something adresine çizilebileceğimi fark ettim!

+0

Teşekkürler, XML'imde '@ id/something' şeklinde çizilebilir bir set yapmıştım ve bu da bu çökmenin sebebiydi! –

İlgili konular