Java Android ListView添加不可单击的文本视图
我有列表视图:Java Android ListView添加不可单击的文本视图,java,android,list,listview,android-listview,Java,Android,List,Listview,Android Listview,我有列表视图: <ListView android:id="@+id/listview" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 我向其中添加了一些项目: final ArrayList<String> list = new ArrayList<String>(); for (int i = 0; i <
<ListView android:id="@+id/listview"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
我向其中添加了一些项目:
final ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < items.length(); ++i) {
try {
list.add(items[i].getString("title"));
} catch (JSONException e) {
e.printStackTrace();
}
}
final StableArrayAdapter adapter = new StableArrayAdapter(this,
android.R.layout.simple_list_item_1, list);
listview.setAdapter(adapter);
final ArrayList list=new ArrayList();
对于(int i=0;i
但是现在我想在列表中添加一些textview
(例如if(I==5)
)像标签一样。它不应该是可点击的。
如何添加它?listview.setOnItemClickListener(新的OnItemClickListener()
listview.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View view, int arg2,long arg3)
{
long pos = arg0.getItemIdAtPosition(arg2);
if(pos != 5)
{
//add textview
}
else
{
//nothing
}
}
});
{
@凌驾
public void onItemClick(AdapterView arg0、View视图、int arg2、long arg3)
{
long pos=arg0.getItemIDataPosition(arg2);
如果(位置!=5)
{
//添加文本视图
}
其他的
{
//没什么
}
}
});
您应该使用自定义行布局,而不是android.R.layout.simple_list_item_1,例如,您有一个文本视图,其可见性默认设置为gone:
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/nonclickable_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"/>
<TextView
android:id="@+id/normal_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if(convertView==null) {
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.row, parent,false);
}
if(int position==5) {
TextView tv = (TextView)convertView.findViewById(R.id.nonclickable_text);
tv.setVisibility(View.VISIBLE);
}