2016-04-17 144 views
2

在我的應用程序中,我試圖實現自定義列表適配器。該應用程序工作正常與一個簡單的列表適配器,但切換到自定義渲染屏幕空白。沒有錯誤。缺少android包 - API22

調試時,在模塊ListView.java它讓我發現,一些包丟失了

  1. com.google.android.collect.Lists;
  2. android.util.MathUtils
  3. android.view.ViewRootImpl;

我無法通過谷歌搜索,如何讓這些包找到。你能幫忙找出需要安裝哪些軟件包以及從哪裏安裝?

我在API 22爲這個應用程序(主要是因爲我的測試設備不能超越API 22升級)

添加代碼,自定義適配器

package app.monty.lordsknightsapp.adapters; 

import android.content.Context; 
import android.graphics.Color; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 
import android.widget.LinearLayout; 
import android.widget.TextView; 

import java.util.HashMap; 
import java.util.List; 

import app.monty.lordsknightsapp.R; 

public class PlayerGrowthAdapter extends BaseAdapter { 

protected Context context; 
protected List<String[]> growthActivity; 

public PlayerGrowthAdapter(Context context, List<String[]> growthActivity){ 
    this.context = context; 
    this.growthActivity = growthActivity; 
} 

@Override 
public int getCount() { 
    return 0; 
} 

@Override 
public Object getItem(int position) { 
    return null; 
} 

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

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    if (convertView == null){ 
     context = parent.getContext(); 
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = inflater.inflate(R.layout.list_row, null); 
    } 
    TextView textView = (TextView) convertView.findViewById(R.id.tvListRow); 
    textView.setBackgroundColor(Color.RED); 
    textView.setText("hola"); 
    return convertView; 
} 

public View getView1(int position, View convertView, ViewGroup parent) { 
    if (convertView == null){ 
     Context context = parent.getContext(); 
     LinearLayout view = new LinearLayout(context); 
     view.setOrientation(LinearLayout.HORIZONTAL); 

     TextView nameTextView = new TextView(context); 
     //nameTextView.setText(growthActivity.get(1)[0]); 
     nameTextView.setText("Hola"); 
     nameTextView.setPadding(0, 0, 10, 0); 
     view.addView(nameTextView); 
     return view; 
    } 
    return convertView; 
} 

}

+1

無這些庫應該丟失,特別是因爲該代碼是默認的Android框架的一部分,(在文件是框架的一部分庫幾乎總是顯示爲通過機器人工作室失蹤,即使有他們沒有錯)你能發佈你的自定義適配器的代碼嗎? –

+0

嗨Adam, 這裏是自定義適配器的代碼。我檢查了數據庫輸出,並且它是有效的。但仍然用硬編碼的字符串'hola'取代了數據。 該代碼適用於簡單的列表視圖適配器,但切換到此自定義適配器時,屏幕變爲空白。希望大家都能指出我缺少的東西。 –

回答

0

確保你實現了getCount()函數,它用於告訴適配器有多少數據在你的列表中,沒有返回列表的長度,你的列表將不會顯示。

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


實現您適配器的其他部分也不會受到傷害。

+0

謝謝你的回答。我忽略了那個爲我的應用程序思考的簡單事情,它不是必需的,最終浪費了三天時間。我非常欣賞這種援助。祝你好運。 –