【发布时间】:2017-01-13 08:59:20
【问题描述】:
我正在使用带有 2 个文本视图的列表视图。 1 textView 的可见性在 XML 中设置为 GONE。单击列表项时,我希望其文本视图可见。当它再次被点击时,我希望它消失。此外,当在 listView 中单击任何其他项目时,只有它的 textView 应该可见。我正在尝试使用下面的代码,但是当再次选择相同的列表项时,Textview 并没有变为 GONE。
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//to change the visibility of Prevoiusly selected textview to GONE
if (pwdView != null)
pwdView.setVisibility(View.GONE);
pwdView = (TextView) view.findViewById(R.id.saved_pwd);
if (pwdView.getVisibility()==View.VISIBLE)
pwdView.setVisibility(View.GONE);
else
pwdView.setVisibility(View.VISIBLE);
}
});
适配器代码:
public class PwdCursorAdaptor extends CursorAdapter {
public PwdCursorAdaptor(Context context, Cursor c) {
super(context, c, 0);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return LayoutInflater.from(context).inflate(R.layout.list_items, parent, false);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView saved_id = (TextView) view.findViewById(R.id.saved_id);
TextView saved_password_data=(TextView)view.findViewById(R.id.saved_pwd);
int pass_index=cursor.getColumnIndex(PwdContract.PasswordEntry.COL_PASSSWORD);
int id_index = cursor.getColumnIndex(PwdContract.PasswordEntry.COL_LOGIN_ID);
saved_id.setText(cursor.getString(id_index));
saved_password_data.setText(cursor.getString(pass_index));
}
}
【问题讨论】:
-
您也可以根据您希望它再次可见的功能使用不可见
-
你必须在你的 .XML 文件中设置你的 textView VISIBILITY.GONE。并在你的代码中删除这一行 pwdView.setVisibility(View.GONE);
-
让我知道发生了什么。
-
@SagarAghara 我希望以前可见的 textView 在单击任何其他列表项时消失。我已经在 XML 中将其可见性设置为 GONE。
-
向我们展示您的适配器代码
标签: android