2011-08-03 10 views
3

カスタムSimpleCursorAdapterを実装しようとしていますが、問題があります。アプリケーションを実行すると、listViewに何も表示されません。何故ですか?ここに私のコードは次のとおりです。カスタムSimpleCursorAdapter

package com.messageHider; 

import android.content.Context; 
import android.database.Cursor; 
import android.provider.MediaStore; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.ViewGroup; 
import android.widget.ImageView; 
import android.widget.SimpleCursorAdapter; 
import android.widget.TextView; 
import android.widget.Toast; 

public class myAdapter extends SimpleCursorAdapter { 
    private Context appContext; 
    private int layout; 
    private Cursor mycursor; 
    public myAdapter(Context context, int layout, Cursor c, String[] from,int[] to) { 
     super(context, layout, c, from, to); 
     this.appContext=context; 
     this.layout=layout; 
     this.mycursor=c; 
    } 

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

    @Override 
    public Object getItem(int arg0) { 
     return null; 
    } 
    @Override 
    public long getItemId(int arg0) { 
     return 0; 
    } 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     LayoutInflater inflater=(LayoutInflater)appContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView=inflater.inflate(layout, null, true); 
     ImageView imageViewVidIcon=(ImageView)convertView.findViewById(R.id.imageViewVidThumb); 
     imageViewVidIcon.setImageResource(R.drawable.videothumb); 
     ImageView imageViewPlayBtn=(ImageView)convertView.findViewById(R.id.imageViewPlaybtn); 
     imageViewPlayBtn.setImageResource(R.drawable.playbtn); 
     TextView textViewTitle=(TextView)convertView.findViewById(R.id.textViewVideoTitle); 
     String title=mycursor.getString(mycursor.getColumnIndex(MediaStore.Video.Media.DISPLAY_NAME)); 
     textViewTitle.setText(title); 
     imageViewPlayBtn.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Toast.makeText(appContext, "It works", Toast.LENGTH_LONG).show(); 
      } 
     }); 
     return convertView; 
    } 

} 

答えて

1

私が言うと思いますあなたの

public int getCount() { 
     return 0; 
    } 

は、リストビューを表示するには何もないと思わせます。 を試す

return 1; 

開始セッションまたはデバッグセッション。

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

この関数は、リスト内の要素の数を返します。 返されるので0にすることはできません。要素のリストのサイズにする必要があります。

0

getView()bindView()newView()を手動で電話する必要があります。元のソースコードではgetView()の中でbindView()newView()が呼び出されているため、上書きするときにも行う必要があります。

関連する問題