2016-04-17 10 views
2

私のアプリでは、カスタムリストアダプターを実装しようとしています。このアプリは単純なリストアダプターでうまく動作しますが、カスタムに切り替えると画面が空白になります。エラーはありません。それはいくつかのパッケージが欠けているアンドロイドパッケージ - API22

  1. com.google.android.collect.Listsが欠落していることを私に示してListView.javaモジュールで

    デバッグ中に、。

  2. android.util.MathUtils
  3. android.view.ViewRootImpl;

私はGoogle検索でこれらのパッケージを取得する方法が見つかりません。どのパッケージをインストールする必要があるのか​​、どこからどこのパッケージを見つけるのを助けてくれますか?カスタムアダプタ

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

特に、そのコードはすべてデフォルトでアンドロイドフレームワークの一部であるため、これらのライブラリは欠けている必要はありません(フレームワークの一部であるファイルのライブラリは、アンドロイドスタジオではほとんどの場合、何も問題ありません)カスタムアダプターのコードを投稿できますか? –

+0

こんにちはアダム、 カスタムアダプターのコードは次のとおりです。私はデータベースの出力をチェックして、それは有効です。しかし、それでもデータをハードコーディングされた文字列 'hola'に置き換えました。 コードは単純なリストビューアダプタでうまく動作しますが、このカスタムアダプタに切り替えると画面が空白になります。うまくいけば、皆私は欠けているものを指摘することができます。 –

答えて

0

getCount()関数を実装していることを確認してください。これは、アダプタにリスト内のデータ量を伝えるために使用されます。リストの長さが返されない限り、リストは表示されません。お使いのアダプタの他の部分の実装

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


いずれか傷つけることはありません。

+0

ありがとうございました。私は単純なことを見落として私のアプリを考えて、それは不可欠ではなく、3日間の無駄に終わった。私は本当に助けに感謝します。幸運な人。 –

0

SDKマネージャのためのコードを追加し、私はこのアプリのためにAPI 22日午前

(私のテストデバイスは、API 22を超えてアップグレードすることはできません主にので)

sets up開発環境。

関連する問題