我正在開發一個android應用程序。我想通過自制類(entryClass)顯示數據。列表由recyclerLayout表示,其中包括如此的cardView列表。 Android在某些情況下崩潰
對此的描述(Lorem Ipsum ...)將在最後一個單詞的結尾處有200個字符(例如,如果第200個字符將在單詞的中間,其餘部分將被打印)做到這一點,我做了一個新的方法:
public static String cutText(String text){
String temp="";
StringBuilder build=new StringBuilder(temp);
int i=0;
while((i>200 || text.charAt(i)!=' ') && i<text.length())
{
if(text.charAt(i)!='\n'){
build.append(text.charAt(i));}
else {build.append(text.charAt(' '));}
i++;
}
return build.toString();
}
但是,當我使用這種方法,應用程序在運行它崩潰。 這是添加了這種方法的一部分:
public void onBindViewHolder(final ViewHolder holder, int position) {
//creating an cardView
holder.mItem = mValues.get(position);
holder.mAuthorView.setText(mValues.get(position).author);
holder.mDateView.setText(mValues.get(position).date);
holder.mContentView.setText(cutText(mValues.get(position).content));
holder.mImageView.setImageResource(R.drawable.sadness);
當cutText法線更改爲不包含它,一切工作正常。
我希望我包括一切重要的東西。 此致敬禮! 編輯: LOG FROM CRASH:
12-21 15:24:05.062 10574-10574/pl.spicyproject.quickstart E/AndroidRuntime: FATAL EXCEPTION: main
Process: pl.spicyproject.quickstart, PID: 10574
java.lang.StringIndexOutOfBoundsException: length=3; index=3
at java.lang.String.charAt(Native Method)
at pl.spicyproject.quickstart.Home.cutText(Home.java:201)
at pl.spicyproject.quickstart.Home$SimpleItemRecyclerViewAdapter.onBindViewHolder(Home.java:151)
at pl.spicyproject.quickstart.Home$SimpleItemRecyclerViewAdapter.onBindViewHolder(Home.java:129)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:5217)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:5250)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4487)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4363)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3071)
at android.view.View.layout(View.java:16630)
at android.view.ViewGroup.layout(ViewGroup.java:5437)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16630)
at android.view.ViewGroup.layout(ViewGroup.java:5437)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1732)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1497)
at android.view.View.layout(View.java:16630)
at android.view.ViewGroup.layout(ViewGroup.java:5437)
at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1037)
at android.support.design.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:747)
at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1156)
at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:760)
at android.view.View.layout(View.java:16630)
at android.view.ViewGroup.layout(ViewGroup.java:5437)
at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1043)
at android.view.View.layout(View.java:16630)
at android.view.ViewGroup.layout(ViewGroup.java:5437)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16630)
at android.view.ViewGroup.layout(ViewGroup.java:5437)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
at android.view.View.layout(View.java:16630)
at android.view.ViewGroup.layout(ViewGroup.java:5437)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16630)
at android.view.ViewGroup.layout(ViewGroup.java:5437)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
at android.view.View.layout(View.java:16630)
at android.view.ViewGroup.layout(ViewGroup.java:5437)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2678)
at android.view.View.layout(View.jav
12-21 15:24:07.450 10574-10574/pl.spicyproject.quickstart I /過程:發送信號。 PID:10574 SIG:9
請包括髮生崩潰時的logcat。 –
http://pastebin.com/UY41yzuF – Unlucky
你覺得'text.charAt('')'是什麼意思? (我認爲這意味着'text.charAt(32)')。 –