这两天做一个答题轮播,发生了点意外。这个轮播是用recycleview实现的,数据提交后获取数据采用的方式:点击下一步时获取当前holder数据,然后跳转到下一页,以此类推。然后就能再外面获取到数据了。 当然如果你没有下一步的说法,我觉得可能要考虑界面如何设计,如何实时捕捉当前页面数据的问题,比如输入框添加监听等方式。
在获取数据的过程中出现一个list转string的错误,记录下:
java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.lang.String[]
at com.lieyunwang.app.adapter.SmartMatchAdapter$ViewHolderThree.getData(SmartMatchAdapter.java:197)
at com.lieyunwang.app.activity.SmartMatch.getData(SmartMatch.java:165)
at com.lieyunwang.app.activity.SmartMatch.onClick(SmartMatch.java:117)
at com.lieyunwang.app.app.BaseViewOnClickListener.onClick(BaseViewOnClickListener.java:24)
at android.view.View.performClick(View.java:6312)
at android.view.View$PerformClick.run(View.java:24811)
at android.os.Handler.handleCallback(Handler.java:794)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:6651)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)
解决:
String[]转List<String>
String[] arr = new String[]{"a","b","c"};
List<String> list = Arrays.asList(arr);
List<String>转String[]
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
String[] arr = list.toArray(new String[list.size()]);
网友评论