如何从不同的索引启动我的 baseAdapter?
How can I start my baseAdapter from a different index?
现在我的 baseAdapter 从 0 开始,我需要它从 1 开始。
我知道这个问题之前已经回答过,但是,我尝试将 getItem 更改为 return 1 并将 getItemId 更改为 return 1 并设置 listView.setSelection(1);
但这并没有改变任何东西。
我需要我的适配器从 position=1 而不是 position=0 开始
位置=1,
位置=2,
位置=3...等等
而不是
位置=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;
}
}
片段活动
@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;
}
改变它,
@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;
}
现在我的 baseAdapter 从 0 开始,我需要它从 1 开始。
我知道这个问题之前已经回答过,但是,我尝试将 getItem 更改为 return 1 并将 getItemId 更改为 return 1 并设置 listView.setSelection(1);
但这并没有改变任何东西。
我需要我的适配器从 position=1 而不是 position=0 开始
位置=1,
位置=2,
位置=3...等等
而不是
位置=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;
}
}
片段活动
@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;
}
改变它,
@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;
}