की दृश्यता को बदल नहीं सकता है मेरे पास ListView भरने के लिए कस्टम कर्सरैडाप्टर का उपयोग करके एक सूची दृश्य है।एक छवि दृश्य
row.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<LinearLayout
android:orientation="vertical"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="fill_parent">
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:gravity="center_vertical"
android:ellipsize="marquee"
android:textSize="24dp" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/artist"
android:singleLine="true"
android:ellipsize="marquee"
android:textSize="14dp" />
</LinearLayout>
<ImageView
android:id="@+id/currentplaying"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="1dip"
android:src="@android:drawable/ic_media_play"
android:contentDescription="@string/now_playing"
android:visibility="gone" />
</LinearLayout>
आप देख सकते हैं, imageView की दृश्यता चला गया है। मैं इसे एक विशेष पंक्ति के लिए दृश्यमान बनाना चाहता हूं। यहाँ कोड मैंने कोशिश की है लेकिन यह काम कर रहे ...
View view = getListView().getAdapter().getView(0, null, null);
ImageView iv = (ImageView)view.findViewById(R.id.currentplaying);
iv.setVisibility(ImageView.VISIBLE);
अग्रिम धन्यवाद नहीं है।
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView==null) {
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.yourlayout, null);
holder.imgViewLogo = (ImageView) convertView.findViewById(R.id.imgViewLogo);
convertView.setTag(holder);
}
else {
holder=(ViewHolder)convertView.getTag();
}
if(position==0) {
holder.imgViewLogo.setVisiblity(View.VISIBLE);
}
return convertView;
}
संपादित करें:
मैं काम कर रहा समझ में आ गया। मैंने सूची दृश्य गतिविधि शुरू करने के लिए इसका इस्तेमाल किया।
intent.putExtra("id", c.getInt(c.getColumnIndex(DatabaseHelper._ID)));
startActivity(intent);
ListView गतिविधि में,
currentplayingid = getIntent().getExtras().getInt("id");
तब मैं bindview()
ImageView imgview = (ImageView)view.findViewById(R.id.currentplaying);
int id = c.getInt(c.getColumnIndex(DatabaseHelper._ID));
if (id == SongsListActivity.this.currentplayingid)
imgview.setVisibility(View.VISIBLE);
else
imgview.setVisibility(View.GONE);
iv.set दृश्यता (देखें। VISIBLE) का उपयोग करें; या iv.set दृश्यता (1); काम नहीं कर रहा? –
View.GONE के बजाय View.INVISIBLE का उपयोग करने का प्रयास करें यदि यह आपकी आवश्यकताओं के अनुरूप है। और xml फ़ाइल के बजाय कोड में ऐसा करने का प्रयास करें। –