2011-04-27 3 views
-1

я пытаюсь феллинг кода в андроидстановится проблемой в андроиде ListView

tv=(TextView) findViewById(R.id.ringtone); 
    if (!hasErrors) { 

     setListAdapter(new ArrayAdapter<String>(FindFilesByType.this, R.layout.main, 
       Ringtones)); 

     lv.setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> aView, View v, 
        int position, long id) { 
       currentPosition = position; 
       playRingtone(DIRECTORY+Ringtones.get(position)); 
      } 
     }); 

, но я получаю следующий LogCat и мое приложение рядом с силой близко

 
04-27 11:05:08.212: INFO/ActivityManager(52): Starting activity: Intent { cmp=android.com.testHTML/.FindFilesByType } 
04-27 11:05:08.353: INFO/NotificationService(52): enqueueToast pkg=android.com.testHTML [email protected] duration=0 
04-27 11:05:08.454: ERROR/ArrayAdapter(715): You must supply a resource ID for a TextView 
04-27 11:05:08.454: WARN/dalvikvm(715): threadid=3: thread exiting with uncaught exception (group=0x4001aa28) 
04-27 11:05:08.454: ERROR/AndroidRuntime(715): Uncaught handler: thread main exiting due to uncaught exception 
04-27 11:05:08.473: ERROR/AndroidRuntime(715): java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:347) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.AbsListView.obtainView(AbsListView.java:1273) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.ListView.makeAndAddView(ListView.java:1658) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.ListView.fillDown(ListView.java:637) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.ListView.fillFromTop(ListView.java:694) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.ListView.layoutChildren(ListView.java:1516) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.AbsListView.onLayout(AbsListView.java:1112) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.view.View.layout(View.java:6569) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1108) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.LinearLayout.onLayout(LinearLayout.java:920) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.view.View.layout(View.java:6569) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.FrameLayout.onLayout(FrameLayout.java:333) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.view.View.layout(View.java:6569) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.LinearLayout.onLayout(LinearLayout.java:918) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.view.View.layout(View.java:6569) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.FrameLayout.onLayout(FrameLayout.java:333) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.view.View.layout(View.java:6569) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.view.ViewRoot.performTraversals(ViewRoot.java:979) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1613) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.os.Handler.dispatchMessage(Handler.java:99) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.os.Looper.loop(Looper.java:123) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.app.ActivityThread.main(ActivityThread.java:4203) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at java.lang.reflect.Method.invoke(Method.java:521) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at dalvik.system.NativeStart.main(Native Method) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715): Caused by: java.lang.ClassCastException: android.widget.LinearLayout 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:340) 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  ... 30 more 
04-27 11:05:08.493: INFO/Process(52): Sending signal. PID: 715 SIG: 3 
04-27 11:05:08.493: INFO/dalvikvm(715): threadid=7: reacting to signal 3 
04-27 11:05:08.503: ERROR/dalvikvm(715): Unable to open stack trace file '/data/anr/traces.txt': Permission denied 
04-27 11:05:13.472: INFO/Process(715): Sending signal. PID: 715 SIG: 9 
04-27 11:05:13.503: INFO/ActivityManager(52): Process android.com.testHTML (pid 715) has died. 
04-27 11:05:13.512: INFO/WindowManager(52): WIN DEATH: Window{43885018 android.com.testHTML/android.com.testHTML.testHTMLActivity paused=false} 
04-27 11:05:13.512: INFO/WindowManager(52): WIN DEATH: Window{43933640 Toast paused=false} 
04-27 11:05:13.512: INFO/WindowManager(52): WIN DEATH: Window{439071b0 android.com.testHTML/android.com.testHTML.FindFilesByType paused=false} 
04-27 11:05:13.592: INFO/ActivityManager(52): Start proc android.com.testHTML for activity android.com.testHTML/.testHTMLActivity: pid=750 uid=10024 gids={3003, 1015} 
04-27 11:05:13.784: INFO/jdwp(750): received file descriptor 20 from ADB 
04-27 11:05:13.913: WARN/UsageStats(52): Something wrong here, didn't expect android.com.testHTML to be resumed 
04-27 11:05:14.503: WARN/InputManagerService(52): Got RemoteException sending setActive(false) notification to pid 715 uid 10024 
04-27 11:05:14.643: INFO/ActivityManager(52): Displayed activity android.com.testHTML/.testHTMLActivity: 1139 ms (total 6398 ms) 

что неправильно я делаю?

Заранее спасибо

+0

Можете ли вы разместить свою квартиру вне XML? Вы уверены, что 'R.id.ringtone' относится к TextView? – Bostone

ответ

0

LogCat четко говорится, что вам необходимо предоставить идентификатор ресурса для TextView, где, как то, что вы предоставляете является LinearLayout (Мое предположение, поскольку оно бросает ClassCastException) Я считаю, что main.xml - это linearlayout, а не textview. Вместо этого попробуйте R.id.ringtone

0

Вы проблема описана в этих строках:

11:05:08.473: ERROR/AndroidRuntime(715): Caused by: java.lang.ClassCastException: android.widget.LinearLayout 
04-27 11:05:08.473: ERROR/AndroidRuntime(715):  at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:340) 

Это, вероятно, означает, что вы используете что-то как LinearLayout, в то время как он не один.
(большую часть времени вы получаете ClassCastException вы делаете что-то вроде
foobar = (LinearLayout) someCode();)

1

ну друг, ваша проблема в том, что вы используете r.layout.main для строки списка.

вы должны создать макет listrow раздельный, где вы упоминаете только TextView и передать его в качестве макета ваша ошибка находится на этой линии

setListAdapter(new ArrayAdapter<String>(FindFilesByType.this, R.layout.main, 
       Ringtones)); 

создать макет сказать listrow.xml

<?xml version="1.0" encoding="utf-8"?> 
<TexView 
..... 
/> 

и сменить вашу линию

setListAdapter(new ArrayAdapter<String>(FindFilesByType.this, R.layout.listrow, 
        Ringtones)); 
+0

ok Я получил решение: - this.lv1.setAdapter (новый ArrayAdapter (FindFilesByType.this, android.R.layout.test_list_item, Рингтоны)); – Android

Смежные вопросы