我正在处理自定义列表视图我的活动是这样的
public class MainActivity extends Activity {
ListView listView = null;
int position = 0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView)findViewById(R.id.list);
String[] values = new String[] { "Android List View",
"Adapter implementation",
"Simple List View In Android",
"Create List View Android",
"Android Example",
"List View Source Code",
"List View Array Adapter",
"Android Example List View"
};
mAdapter = new MyListAdapter(this, R.layout.list_item, new ArrayList<String>(Arrays.asList(values)));
listView.setAdapter(mAdapter);
listView.setOnItemSelectedListener(mItemListener);
}
private AdapterView.OnItemSelectedListener mItemListener = new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position1, long arg3) {
mAdapter.setSelection(position1);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
};
}
而列表适配器 getView 是
@Override
public View getView(int position, View convertView, ViewGroup parent) {
String result = mSearchResultList.get(position);
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(mResourceId, parent, false);
holder.mTextView1 = (TextView)convertView.findViewById(R.id.list_text1);
holder.mTextView2 = (TextView)convertView.findViewById(R.id.list_text2);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
if (mSelected == position) {
holder.mTextView1.setBackgroundResource(R.drawable.epg_genre_btn_focus);
}else {
holder.mTextView1.setBackground(null);
}
holder.mTextView1.setText(result) ;
holder.mTextView2.setText(result) ;
return convertView;
}
int mSelected =0;
void setSelection(int pos){
mSelected = pos;
notifyDataSetChanged();
}
我不在 Touch UI 上工作,而是在没有触摸事件的谷歌 DTV 上工作。我正在使用 DPAD 进行导航。一切正常,直到我到达列表中的最后一个位置。When the selected Item is lastvisible position and I press downKey in DPAD the highlighed(bacground item) first scroll one position up then goes down to lastvisible position. 请帮助我,我尝试了很多排列和组合,但无法解决问题