我正在学习实现方法,我有一个示例应用程序的弹出菜单,一个图像视图和一个寻求条。当弹出式中的一项被选中时,它会显示5幅依赖于查找栏位置的图像,即在选择一项后当查找栏被移动时,我被困在方法实现中,在onProgressChanged.
另外,在case R.id.item之后添加什么代码来更改图像x1、x3、x6、x5、m6?
谢谢..
public class MainActivity extends Activity implements OnMenuItemClickListener {
public ImageView image;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btn_click).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
PopupMenu popupMenu = new PopupMenu(MainActivity.this, view);
popupMenu.setOnMenuItemClickListener(MainActivity.this);
popupMenu.inflate(cars);
popupMenu.show();
}
});
}
public boolean onMenuItemClick(MenuItem item) {
SeekBar sk = (SeekBar) findViewById(R.id.seek_sh);
sk.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
}
}
image = (ImageView) findViewById(R.id.imageView);
switch (item.getItemId()) {
case R.id.item_BMW:
image.setImageResource(x1);
return true;
}
return true;
}
}发布于 2015-10-10 13:01:14
您可以在SeekBarChangeListener方法中添加onCreate,并根据progress值更改图像:
public class MainActivity extends Activity implements OnMenuItemClickListener {
public ImageView image;
public SeekBar sk;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView) findViewById(R.id.imageView);
sk = (SeekBar) findViewById(R.id.seek_sh);
findViewById(R.id.btn_click).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
PopupMenu popupMenu = new PopupMenu(MainActivity.this, view);
popupMenu.setOnMenuItemClickListener(MainActivity.this);
popupMenu.inflate(cars);
popupMenu.show();
}
});
sk.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
switch (progress) {
case progressValueForX1:
image.setImageResource(R.drawable.x1);
break;
case progressValueForX2:
image.setImageResource(R.drawable.x2);
break;
....
case progressValueForM6:
image.setImageResource(R.drawable.m6);
break;
}
}
}
}
}https://stackoverflow.com/questions/33054102
复制相似问题