2015-10-09 36 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

相關問題