2014-06-26 45 views
1

我想單擊列表視圖中的某個按鈕(外部 - 不在listitem中)時,關注下一個列表項。 我想這樣的,但它不工作:更改列表視圖焦點

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; 
     } 
}); 

按鈕OnClickListener

OnClick{ 
    vegetableList.setItemChecked(3, true); 
} 

如何我可以集中精力當前所選項目的下一個項目當我點擊按鈕?

回答

0
mList.performItemClick(
     mList.getAdapter().getView(mActivePosition, null, null), 
     mActivePosition, 
     mList.getAdapter().getItemId(mActivePosition)); 
0

我認爲你的代碼應該可以工作,但爲什麼不工作我不知道&
你可以試試這樣。

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; 
} 
+0

我認爲這只是什麼,我已經做了選擇。 我已經完成了背景更改時的重點。 想當我點擊一個外部按鈕時,我需要關注下一個列表項。 –

+0

是的,這是你所做的一些選擇。而且我沒有正確地得到你的闕這個你發佈的內容不起作用,所以我會告訴你的方法。 – Cropper

+0

是的,它可以工作,你可以嘗試。 全局聲明'int save = -1'變量。 –