我在我的应用程序中显示来自Web的图像。 它运行得很好
我的问题是:
点击图片时获取当前图片网址的方法,功能是什么? (我将url作为字符串传递给显示器。)
我使用了这种方法:
private String getAnImageUrl() {
i++;
if(i >= images.length){
i = 0;
}
public class ImageExampleXML extends Activity {
private String reviewImageLink;
private final String images[] = {"http://clients..../britney.jpg",
"http://client...../evala.jpg",
"http://clients.......ashlee.jpg",
"http://clients.......mple_1.jpg",
};
private int i = 0;
private String imgUrl;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button loadImage = (Button) findViewById(R.id.button);
final LoaderImageView image = (LoaderImageView) findViewById(R.id.loaderImageView);
loadImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
image.setImageDrawable(getAnImageUrl());
}
});
image.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
imgUrl = getAnImageUrl();
Toast.makeText(getApplicationContext(), imgUrl+ " this one", Toast.LENGTH_LONG).show();
// TODO Auto-generated method stub
}
});
return images[i];
}
我通过按钮更改了图像。 当我下次点击它会改变URL但图像保持不变时会出现问题。
由于getAnImageUrl();请参阅onclick中的方法image.setOnClickListener
我点击后更改了显示名称.. 请告诉我如何找到当前的图片网址...
注意:我只用toast来检查我得到了什么?
提前致谢。
答案 0 :(得分:0)
您可以做的就是
loadImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgUrl = getAnImageUrl();
image.setImageDrawable(imgUrl);
}
});
image.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), imgUrl+ " this one", Toast.LENGTH_LONG).show();
// TODO Auto-generated method stub
}
或者你也可以用户setTag(Object object);观点的方法,例如
loadImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String url = getAnImageUrl();
image.setImageDrawable(url);
image.setTag(url);
}
});
image.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), image.getTag()+ " this one", Toast.LENGTH_LONG).show();
// TODO Auto-generated method stub
}
如果你仍然有问题,图像不会改变。然后请分享 LoaderImageView.java 的代码作为图像请求,更新处理。