2016-04-03 309 views
0

有人能告诉我为什么我无法通过选择,甚至在从此列表视图中选择项目时敬酒。点击列表视图中的项目时出错

protected void onPostExecute(List<uploadedContentModels> result) { 
     super.onPostExecute(result); 
     dialog.dismiss(); 
     if (result != null) { 
      VidAddressAdapter adapter = new VidAddressAdapter(getApplicationContext(), R.layout.rowv_vid, result); 
      listView.setAdapter(adapter); 
      listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
        String choice = ((TextView)view).getText().toString(); 
        Toast.makeText(getBaseContext(), choice, Toast.LENGTH_LONG).show(); 
//     Uri video = Uri.parse(clickedAddress); 
//     videoView.setVideoURI(video); 
//     videoView.start(); 
       } 
      }); 

我得到的错误是;

04-03 18:31:00.844 24899-24899/net.we4x4.we4x4 E/AndroidRuntime: FATAL EXCEPTION: main 
                  Process: net.we4x4.we4x4, PID: 24899 
                  java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.TextView 
                   at net.we4x4.we4x4.MyUploadedVideos$JsonTask$1.onItemClick(MyUploadedVideos.java:185) 
                   at android.widget.AdapterView.performItemClick(AdapterView.java:302) 
                   at android.widget.AbsListView.performItemClick(AbsListView.java:1196) 
                   at android.widget.AbsListView$PerformClick.run(AbsListView.java:3054) 
                   at android.widget.AbsListView$3.run(AbsListView.java:3812) 
                   at android.os.Handler.handleCallback(Handler.java:733) 
                   at android.os.Handler.dispatchMessage(Handler.java:95) 
                   at android.os.Looper.loop(Looper.java:136) 
                   at android.app.ActivityThread.main(ActivityThread.java:5584) 
                   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:1268) 
                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084) 
                   at dalvik.system.NativeStart.main(Native Method) 
的主要活动

我有得到由JsonArray填充列表视图 - 视频剪辑的地址,其中,当其中一人点击它应该被传递到VideoView。我无法做到这一点,因为你可以看到我评论了部分代码,因为我试图将地址解析为uri时出现错误,并且当我尝试仅仅敬酒时,我也得到了一个错误。 ?

回答

1

这里的getName()是getter和setter你PogoClass项目名称,改变这个根据你的getter二传手项目名称

String choice = result.get(position).getName(); 
Toast.makeText(getBaseContext(), choice, Toast.LENGTH_LONG).show(); 
+0

@Amiti_Ranjan谢谢你解决了这个问题。 – JanusJanus

1

您的错误说:android.widget.LinearLayout cannot be cast to android.widget.TextView。这只是表示您试图投两个不同的类,您应该投射到正确的类型:((MyClass)view) 或按位置获取该项目result.get(position)
result是您的视频列表。

1

看起来像你的listView项目类型LinearLayout。在onItemClickListener的内部,view参数表示您的列表项目,因此您试图将LinearLayout转换为TextView。也许你在LinearLayout里面有一个TextView,所以你需要调用findViewById。

。使用本

((TextView)((LinearLayout)view).findViewById(R.id.your_textview_id)).getText().toString(); 

代替

((TextView)view).getText().toString(); 

来从TextView文本。

+0

迪米特里Timofti,你是对的,我能明白这一点,@Amiti_Ranjan建议解决了这个问题,我能够吐司,然后作为一个Uri传递给VideoView,进一步我可能需要使用你的建议,我仍然在等待回复该帖子:http:// stackoverflow .com/questions/36370934/how-to-displays-vid-thumbnail-in-listview-from-url – JanusJanus

相关问题