2015-09-12 35 views
0

我有一個應用程序正在開發中,其中有一個自定義列表適配器的列表視圖。我想爲每個listview項目添加評論功能。 這是使用的listview。如何添加評論功能到列表視圖

public class FeedListAdapter extends BaseAdapter { 
    private Activity activity; 
    private LayoutInflater inflater; 
    private List<FeedItem> feedItems; 
    ImageLoader imageLoader = AppController.getInstance().getImageLoader(); 

    public FeedListAdapter(Activity activity, List<FeedItem> feedItems) { 
     this.activity = activity; 
     this.feedItems = feedItems; 
    } 

    @Override 
    public int getCount() { 
     return feedItems.size(); 
    } 

    @Override 
    public Object getItem(int location) { 
     return feedItems.get(location); 
    } 

    @Override 
    public long getItemId(int position) { 
     return position; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     if (inflater == null) 
      inflater = (LayoutInflater) activity 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     if (convertView == null) 
      convertView = inflater.inflate(R.layout.feed_item, null); 

     if (imageLoader == null) 
      imageLoader = AppController.getInstance().getImageLoader(); 

     TextView name = (TextView) convertView.findViewById(R.id.name); 
     TextView timestamp = (TextView) convertView 
       .findViewById(R.id.timestamp); 
     TextView statusMsg = (TextView) convertView 
       .findViewById(R.id.txtStatusMsg); 
     TextView url = (TextView) convertView.findViewById(R.id.txtUrl); 
     NetworkImageView profilePic = (NetworkImageView) convertView 
       .findViewById(R.id.profilePic); 
     FeedImageView feedImageView = (FeedImageView) convertView 
       .findViewById(R.id.feedImage1); 

     FeedItem item = feedItems.get(position); 

     name.setText(item.getName()); 

     // Converting timestamp into x ago format 
     CharSequence timeAgo = DateUtils.getRelativeTimeSpanString(
       Long.parseLong(item.getTimeStamp()), 
       System.currentTimeMillis(), DateUtils.SECOND_IN_MILLIS); 
     timestamp.setText(timeAgo); 

     // Chcek for empty status message 
     if (!TextUtils.isEmpty(item.getStatus())) { 
      statusMsg.setText(item.getStatus()); 
      statusMsg.setVisibility(View.VISIBLE); 
     } else { 
      // status is empty, remove from view 
      statusMsg.setVisibility(View.GONE); 
     } 

     // Checking for null feed url 
     if (item.getUrl() != null) { 
      url.setText(Html.fromHtml("<a href=\"" + item.getUrl() + "\">" 
        + item.getUrl() + "</a> ")); 

      // Making url clickable 
      url.setMovementMethod(LinkMovementMethod.getInstance()); 
      url.setVisibility(View.VISIBLE); 
     } else { 
      // url is null, remove from the view 
      url.setVisibility(View.GONE); 
     } 

     // user profile pic 
     profilePic.setImageUrl(item.getProfilePic(), imageLoader); 

     // Feed image 
     if (item.getImge() != null) { 
      feedImageView.setImageUrl(item.getImge(), imageLoader); 
      feedImageView.setVisibility(View.VISIBLE); 
      feedImageView 
        .setResponseObserver(new FeedImageView.ResponseObserver() { 
         @Override 
         public void onError() { 
         } 

         @Override 
         public void onSuccess() { 
         } 
        }); 
     } else { 
      feedImageView.setVisibility(View.GONE); 
     } 

     return convertView; 
    } 
} 

我應該創建一個多級別的listview。 而且我還想知道,在爲每個listview添加註釋功能之後,需要在數據庫中爲每個listview項目創建一個單獨的表格以存儲添加的不同註釋,否則會出現不同的方法。也幫助我知道如何在每個listview項目內創建一個listview。

謝謝。

+0

所以,你要連接到每個項目的註釋的陣列? –

+0

@Heyyou yaa ....每個項目都應該顯示當listitem被選中時輸入的註釋列表。 – dev

+0

啊k,如果我有時間,我會草擬一個答案。 –

回答

0

我不會親自做這樣的設計,用戶在這樣的屏幕上很容易找到他們想要的東西並不容易。相反,您可以打開另一個屏幕以在列表項目單擊中顯示評論。或者像Facebook的東西,你顯示評論數,當用戶點擊你在彈出屏幕中打開評論列表。

2個表就足夠了徵求意見的象下面這樣:

列表項:

id | name 
------------------ 
1 | apple 
2 | banana 
3 | orange 

ItemComment

id |itemId | name 
------------------------------- 
1 |1  | apple is good 
2 |1  | i love apple 
3 |2  | banana is yellow 
+0

Iskendero .....非常感謝你......我會真正地標記你的話。 – dev