0
저는 Java, Android 등을 처음 사용합니다. 알아낼 수없는 문제가 있습니다.GridView가 버튼에서 호출되지 않은 경우 표시되지 않습니다.
나는 UniversalImageLoader
을 기준으로 ImageAdapter
으로 채워지는 GridView
입니다. 내가
public void buttonsearch(View view)
{
imagesearch();
}
GridView
을 방법을 실행 버튼을 클릭하면 일반적으로 이미지를 표시합니다. 하지만 직접 호출 할 때.
imagesearch("somestring");
전혀 보이지 않습니다. 내 "디버그"메시지에 의해 나는 ImageAdapter
이 작동 중임을 알 수 있습니다. 버튼을 클릭하면 GridView
이 내용으로 채우기 시작합니다.
private void imagesearch(String... params) throws ClientProtocolException,
JSONException, IOException, InterruptedException,
ExecutionException {
EditText wordimage = (EditText) findViewById(R.id.wordimage);
String previos = null;
String wordtotr = null;
String strwordtos = null;
if (params.length != 0)
{
previos = params[0];
}
if (previos != null)
{
strwordtos = previos;
wordimage.setText(strwordtos);
}
strwordtos = wordimage.getText().toString().replaceAll(" ", "%20");
parsejsonimages getUrls = new parsejsonimages();
getUrls.execute(strwordtos);
urlsp = getUrls.get();
List<String> urls = new ArrayList<String>();
urls = new ArrayList<String>(urlsp.values());
directurls = new ArrayList<String>(urlsp.keySet());
int j = 0;
while (urls.size() > j) {
urls.set(j, "http://someaddress:" + urls.get(j));
j++;
}
GridView gridview = (GridView) findViewById(R.id.gridViewImages);
Integer gwight = gridview.getWidth();
Integer ghight = gridview.getHeight();
ImageAdapter images = new ImageAdapter(this, urls, ghight, gwight);
gridview.setAdapter(images);
gridview.setSelected(true);
gridview.setOnItemClickListener(new OnItemClickListener() {
public void setalphatoimagebypos(Integer pos, Integer Alpha)
{
GridView gridview = (GridView) findViewById(R.id.gridViewImages);
ImageView imgrecoil = (ImageView) (gridview
.getChildAt(pos));
imgrecoil.setAlpha(Alpha);
}
public void onItemClick(AdapterView parent, View v, int position,
long id) {
if (strimgtag > -1) {
setalphatoimagebypos(strimgtag, 255);
strimgtag = position;
setalphatoimagebypos(strimgtag, 128);
}
});
편집 : 좋아, 문제는 나중에
좋아, 내가 그렇게 부르면 나는 너비와 높이를 얻을 수 없다 ... 나는 이유를 모른다. 정수 gwight = gridview.getWidth(); // return 0 \t \t 정수 ghight = gridview.getHeight(); // return 0 – Rezon
이것은 GridView가 아직 측정/그려지지 않았다는 것을 의미합니다. – NOSTRA
감사합니다. 이미 알아 냈습니다. – Rezon