2015-04-05 116 views
0

目前我的列表视图正常工作以返回一个视图,但我希望它 检查当currentVerse.getVerseNumber()== 1并且返回两个不同视图(行)时,如果条件为真。我无法弄清楚,任何帮助将不胜感激。有两种不同视图的Android自定义列表视图

public View getView(int position, View convertView, ViewGroup parent) { 
     VersesModel currentVerse = verses.get(position); 
     if (convertView == null) { 
      convertView = getActivity().getLayoutInflater().inflate(
        R.layout.verses_custom_list, parent, false); 
      viewHolder = new ViewHolder(); 
      font = Typeface.createFromAsset(convertView.getContext().getAssets(), "my_font.ttf"); 
      viewHolder.textView = (TextView) convertView.findViewById(R.id.textView_Verse); 
      viewHolder.nView = (TextView) convertView.findViewById(R.id.textView_verseNumber); 
      viewHolder.textView.setTypeface(font); 
     } else { 
      viewHolder = (ViewHolder) convertView.getTag(); 
     } 
     viewHolder.textView.setText(currentVerse.getVerseText().toString()); 
     viewHolder.nView.setText(currentVerse.getVerseNumber() + ""); 
     convertView.setTag(viewHolder); 
     return convertView; 
    } 
+0

http://stackoverflow.com/questions/ 19723277 – 2015-04-05 14:29:27

+0

根据您的值决定视图类型,请参阅http://stackoverflow.com/questions/4777272/android-listview-with-different-layout-for-each-row – Harry 2015-04-06 10:06:25

回答

0

其根据我简单....

创建要在其中表现出同样的布局两个视图的布局......

并假设为条件为真要显示的LinearLayout-A和虚假ü要显示的LinearLayout-B,则其使用简单View.Visibility

if(true) 
{ 
    LinearLayout-B.setVisibility(View.GONE); 
    LinearLayout-A.setVisibility(View.VISIBLE); 
} 
else 
{ 
    LinearLayout-A.setVisibility(View.GONE); 
    LinearLayout-B.setVisibility(View.VISIBLE); 
} 

BTW同时使用,因为rememember列表视图中绘制即时通讯每次的观点是CREA泰德其隐藏后,所以,可以很容易和强大否则WUD只是弄乱了很多......

希望它可以帮助ü...

感谢