2015-10-09 103 views
0

我想为下面提到的listview实现一个setOnItemClickListener。 该代码对我显示的字符串数组的项目很好,但我想在用户单击和长按时执行一些操作。setOnItemClickListener活动扩展ListActivity没有适配器

public class MainActivity extends ListActivity{ 

@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    String[] plainStrings = getResources().getStringArray(R.array.myarray); 
    Spanned[] htmlStrings = new Spanned[plainStrings.length]; 
    for(int i = 0 ; i < plainStrings.length; i++) { 
     htmlStrings[i] = Html.fromHtml(plainStrings[i]); 
    } 
setListAdapter(new ArrayAdapter<CharSequence>(this,R.layout.items, htmlStrings)); 
} 

main_activity.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:isScrollContainer="true" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
android:scrollbarStyle="insideOverlay"> 

<ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:clickable="true" 
    android:dividerHeight="3dp"/> 
</LinearLayout> 

items.xml

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/text1" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"/> 
+0

使用直接setOnItemClickListener和setOnItemLongClickListener – Nabin

+0

@SpiderMan。是的,我想知道如果possible..I希望项目的位置列表视图中点击,这样我可以提供选项如复制和共享例如.. – Haider

回答

0

正常点击:

 listView.setOnItemClickListener(new OnItemClickListener() { 
         public void onItemClick(AdapterView<?> parent, View view,int position, long id) { 
     //Do whatever you want     

Toast.makeText(getApplicationContext(),"Clicked",Toast.LENGTH_SHORT).show(); 
         } 
        }); 

龙点击:

listView.setOnItemLongClickListener(new OnItemLongClickListener() { 
     @Override 
     public boolean onItemLongClick(AdapterView<?> arg0, View arg1, 
       final int arg2, long arg3) { 
//Do whatever you want 
    Toast.makeText(getApplicationContext(),"Long Clicked",Toast.LENGTH_SHORT).show(); 
     }); 
    } 
+0

我想要在列表视图中点击的项目的位置,以便我可以提供复制和共享等选项的实例,但因为listview的id是“android:id”..它不会返回方法中位置 – Haider

+0

'int position'参数给出了项目的位置。 – Jas

相关问题