私のアプリでは、上部に1つの画像があり、その下に名前のリストがあるページを表示したいと思います。画像は画面の80%をカバーしている可能性があります。画像ビューまたはリストビューのいずれにも、高さを指定したくありません。
私は次の方法で試しました、私は2つの配列リストを持っています。1つの配列には、画像のURLと、次のように表示されるもう1つのテキストが含まれています。
array 1 = ["http://....","A","B","C","D"......]
次の配列には、次のように0と1が含まれます
array 2 = [0,1,1,1,1.......]
以下は私のリストビューコードです
public class listViewHolder
{
ImageView product_hold_image;
TextView product_hold_subHeading;
}
public View getView(final int position, View convertView, ViewGroup parent)
{
listViewHolder holder = null;
try
{
if (convertView == null)
{
convertView = mLayoutInflater.inflate(R.layout.lst_ly, null);
holder = new listViewHolder();
holder.product_hold_image = (ImageView)convertView.findViewById(R.id.imageView1);
holder.product_hold_subHeading = (TextView)convertView.findViewById(R.id.lst_textView1);
convertView.setTag(holder);
}
else
{
holder = (listViewHolder) convertView.getTag();
}
if(data.get(position).contains("0"))
{
img = data_phonetxt.get(position).toString();
img = img.replaceAll(" ","%20");
Drawable drawable = LoadImageFromWebOperations(img);
holder.product_hold_image.setImageDrawable(drawable);
}
populateListData(holder, position);
notifyDataSetChanged();
}
catch (Exception e)
{
Log.e("list view holder - error: ",""+e);
}
return convertView;
}
public void populateListData(listViewHolder viewHolder, int position)
{
if(data.get(position).contains("1"))
{
Log.e("data.get(position).contains(0) ","is false");
viewHolder.product_hold_image.setVisibility(View.GONE);
viewHolder.product_hold_subHeading.setText(data_phonetxt.get(position).toString());
}
else if(data.get(position).contains("0"))
{
img = data_phonetxt.get(0).toString();
img = img.replaceAll(" ","%20");
Drawable drawable = LoadImageFromWebOperations(img);
viewHolder.product_hold_image.setImageDrawable(drawable);
}
}
上記のコードによると、初めて画像を上に表示し、その下にすべてのテキストを表示するために使用しますが、リストビューを上から下にスクロールし、再び上に移動すると、画像はテキストに置き換えられます、
これを取得する他の簡単な方法、提案はありますか?