Android 更改Listview焦点

Android 更改Listview焦点,android,listview,Android,Listview,当单击列表视图中的按钮“内部不在列表项中”时,我想关注下一个列表项。 我试过这样做,但不起作用: vegetableList.setAdapter(new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, vegList)); vegetableList.setOnItemClickListener(new OnItemClickListener() {

当单击列表视图中的按钮“内部不在列表项中”时,我想关注下一个列表项。 我试过这样做,但不起作用:

vegetableList.setAdapter(new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, vegList));
vegetableList.setOnItemClickListener(new OnItemClickListener() 
{

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
            {
                current_veg_item = vegList[position];
                parent.getChildAt(position).setBackgroundColor(Color.parseColor("#33cc99"));

                if (save != -1 && save != position)
                {
                    parent.getChildAt(save).setBackgroundColor(Color.WHITE);
                }
                save = position; 
        }
});

当我点击按钮时,如何聚焦当前所选项目的下一个项目?

我认为您的代码应该可以工作,但为什么不工作我不知道& 你可以这样试试

ItemAdapter itemAdapter = new ItemAdapter (vegList);
list.setAdapter(itemAdapter );



public class ItemAdapter extends BaseAdapter
{
  ArrayList<String> vegList;
  public ItemAdapter(ArrayList<String> vegList) 
  {
     this.vegList= vegList;
  }

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

@Override
public Object getItem(int position) 
{
    return position;
}

@Override
public long getItemId(int position) 
{
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) 
{
    convertView = getLayoutInflater().inflate(R.layout.item_cell, null);


    TextView tvItem = (TextView) convertView.findViewById(R.id.tvItem);
    tvItem .setText(vegList.get(position));
    convertView.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

             current_veg_item = vegList[position];
            convertView.setBackgroundColor(Color.parseColor("#33cc99"));

            if (prvsview!=null && prvsview!= convertView)
            {
                prvsview.setBackgroundColor(Color.WHITE);
            }
            prvsview= convertView; 
        }
    });
    return convertView;
}

我想这只是我已经做过的事情的一个替代品。我已经做了背景变化时,重点。当一个外部按钮点击时,我想要的是聚焦下一个列表项。是的,这是你所做的选择。我没有正确地获取你的Que,你发布的内容不起作用,所以我必须告诉你替代方法。是的,你可以试试。全局声明int save=-1变量。
ItemAdapter itemAdapter = new ItemAdapter (vegList);
list.setAdapter(itemAdapter );



public class ItemAdapter extends BaseAdapter
{
  ArrayList<String> vegList;
  public ItemAdapter(ArrayList<String> vegList) 
  {
     this.vegList= vegList;
  }

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

@Override
public Object getItem(int position) 
{
    return position;
}

@Override
public long getItemId(int position) 
{
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) 
{
    convertView = getLayoutInflater().inflate(R.layout.item_cell, null);


    TextView tvItem = (TextView) convertView.findViewById(R.id.tvItem);
    tvItem .setText(vegList.get(position));
    convertView.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

             current_veg_item = vegList[position];
            convertView.setBackgroundColor(Color.parseColor("#33cc99"));

            if (prvsview!=null && prvsview!= convertView)
            {
                prvsview.setBackgroundColor(Color.WHITE);
            }
            prvsview= convertView; 
        }
    });
    return convertView;
}
mList.performItemClick(
        mList.getAdapter().getView(mActivePosition, null, null),
        mActivePosition,
        mList.getAdapter().getItemId(mActivePosition));