2014-10-29 51 views
1

即时通讯使用spinner我想知道你怎么能从spinneritem出现在image button图像使用字符串作为价值。更改从微调imagebutton

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_up); 
    spinnerListener(); 
    St = (Spinner) findViewById(R.id.Namess); 
    imageButton01 = (ImageButton) findViewById(R.id.ImageButton1); 
} 


    private void spinnerListener() { 

     ArrayList<Name> players = List_content.ENTRY_LIST_PLAYERS; 
      final ArrayAdapter<String> adapter=new ArrayAdapter<String>(Line_up.this, android.R.layout.simple_spinner_item); 
      {for (Name p : players){adapter.add(p.f_name);}}; 
      playerss.setAdapter(adapter); 
      playerss.setOnItemSelectedListener(new OnItemSelectedListener() { 
       public void onItemSelected(AdapterView<?> av, View v, 
          int position, long itemId) { 

      } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 
      // TODO Auto-generated method stub 

     } 

    }); 
    } 
      public void goalkeeper(View v){ 
       st.performClick(); 

    } 
+0

你应该让你的问题更加清楚。也许给我一个例子。 您通常可以使用setDrawableResourceId()方法更改ImageButton图像。 – Behnam 2014-10-29 12:00:54

+0

好,当我点击一个imageButton我想要微调打开,当我从微调选项中选择一个项目我想要图像按钮我按它来改变它的图像我在微调选择的图像 – Kalle 2014-10-29 12:11:52

+0

好吧,我会告诉你什么做。 – Behnam 2014-10-29 12:26:12

回答

0

好的。这里的技巧:

当单击ImageButton时,您只需要在spinner对象上调用performClick()

int[] pictureIds = { 
     R.drawable.picture1, 
//add as many picture IDs as you want 
     R.drawable.picture2 
} 

imageButton.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     spinner.performClick(); 

    } 
}); 

spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

    @Override 
    public void onItemSelected(AdapterView<?> arg0, View arg1, 
      int position, long arg3) { 
      imageButton.setImageResource(pictureIds[position]);    
    } 

    @Override 
    public void onNothingSelected(AdapterView<?> arg0) { 
     // TODO Auto-generated method stub 

    } 
}); 

不要忘记设置微调控制器适配器,就像你在问题中做得正确一样。