2017-05-15 4 views
-2

は今、私のbaseAdapterは0から始まり、私はこの質問をする前に回答されている知っている、それは1別のインデックスからbaseAdapterを起動するにはどうすればよいですか?

から開始する必要がある、しかし、私は1を返し、リストビューを設定するには、1とgetItemIdを返すためのgetItemを変えてみました。 setSelection(1);

しかし、何も変更されません。

私が代わりなど= 3位= 0

位置= 1、

位置= 2、

位置...

の位置= 1で開始するように私のadpterを必要とします代わり

位置= 0、

位置= 1、の

位置= 2 ...など

アダプタ

package com.example.zdroa.fetchmovies; 

import android.content.Context; 
import android.graphics.drawable.Drawable; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 
import android.widget.ImageView; 
import android.widget.TextView; 

import com.squareup.picasso.Picasso; 

import java.util.TreeMap; 

class ListViewAdaptor extends BaseAdapter { 

    private Context mContext; 
    private TreeMap<Integer, String> urls; 
    private TreeMap<Integer, String> titles; 


    ListViewAdaptor(Context context, TreeMap<Integer, String> URLS, TreeMap<Integer, String> TITLES) { 
     mContext = context; 
     urls = URLS; 
     titles = TITLES; 
    } 

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

    @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) { 
      convertView = View.inflate(mContext, R.layout.results_layout, null); 
     } 
     ImageView imageView = (ImageView) convertView.findViewById(R.id.ivPosters); 
     TextView textView = (TextView) convertView.findViewById(R.id.results_layout_tv_movie_name); 

     Drawable d = mContext.getResources().getDrawable(R.drawable.place_holder_img); 


     String link_end = urls.ceilingEntry(position).getValue(); 
     String title = titles.ceilingEntry(position).getValue(); 

     Picasso.with(mContext) 
       .load("http://image.tmdb.org/t/p/w185" + link_end) 
       .placeholder(d) 
       .into(imageView); 

     textView.setText(title); 


     return convertView; 
    } 
} 

fragmentactivity

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fragment_main, container, false); 

    listView = (ListView) rootView.findViewById(R.id.lvMovies); 
    listView.setSelection(1); 

    new ImageLoadTask().execute(); 

    //if fragment is visible 
    if (getActivity() != null) { 


     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       System.out.println(TITLES.ceilingEntry(position).getValue()); 
      } 
     }); 
    } 
    return rootView; 
} 
+0

あなたはlistView.scrolltoposition(1)を試しましたか? –

+0

@DivyeshPatel大変申し訳ありません。私の質問は不明であった。アダプタが位置を反復するとき、インデックス0から開始するのではなく、position = 0、position = 1の代わりにposition = 1、position = 2、position =ポジション= 2 ...など –

答えて

0

変更、それを、それはあまりにも、それがために働くことを願っています

@Override 
public int getCount() { 
    return urls.size() - 1; 
} 

変更あなた.. ..

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

      if (convertView == null) { 
       convertView = View.inflate(mContext, R.layout.results_layout, null); 
      } 
      position = position + 1; 
      if(urls.size() >= position) 
      { 
       ImageView imageView = (ImageView) convertView.findViewById(R.id.ivPosters); 
       TextView textView = (TextView) convertView.findViewById(R.id.results_layout_tv_movie_name); 

       Drawable d = mContext.getResources().getDrawable(R.drawable.place_holder_img); 


       String link_end = urls.ceilingEntry(position).getValue(); 
       String title = titles.ceilingEntry(position).getValue(); 

       Picasso.with(mContext) 
         .load("http://image.tmdb.org/t/p/w185" + link_end) 
         .placeholder(d) 
         .into(imageView); 

       textView.setText(title); 

      } 

      return convertView; 
     } 
関連する問題