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);
    }