0
我想获取listview的子项并将其两个隐藏元素的可见性设置为true。 我的代码是无法对listView的子进行操作
canvasListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
/*
joinCanvasBtn.setEnabled(true);
joinCanvasPasswordTxt.setEnabled(true);*/
Log.d(TAG,"Selected positon : "+position);
int index = canvasListView.getFirstVisiblePosition() + position;
View v = canvasListView.getChildAt(index);
if(v!=null) {
joinCanvasBtn = (Button) v.findViewById(R.id.joinCanvasBtn);
canvasPassword = (EditText) v.findViewById(R.id.joinCanvasPasswordTxt);
joinCanvasBtn.setVisibility(View.VISIBLE);
joinCanvasPasswordTxt.setVisibility(View.VISIBLE);
}
else {
Log.d(TAG,"Unable to find the selected child of listView");
}
}
});
但这不是它的工作给我空指针异常。我的布局文件如下。基本上我想显示密码和加入按钮,每当用户点击该行。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip">
<!-- Item Name -->
<TextView
android:id="@+id/canvasName"
android:height="100dp"
/>
<TextView
android:id="@+id/canvasCreator"
android:text="TextView" />
<EditText
android:id="@+id/joinCanvasPasswordTxt"
android:visibility="invisible"
/>
<Button
android:id="@+id/joinCanvasBtn"
android:text="Join"
android:visibility="invisible"
/>
</LinearLayout>
请帮我找到解决办法
如果(指数> = 0){.. setVisibility真正的代码。 ..)}其他{Log.d(TAG,“请选择”);}可以帮助 –
,不会帮助我试过 – nikhilbhr