2017-03-05 13 views
1
ListView listView; 
ArrayAdapter<String> adapter; 
String[] hotel = {"one room", "double room", "suit", "vip"}; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    listView = (ListView) findViewById(R.id.listView); 
    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, hotel); 
    listView.setAdapter(adapter); 
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 

      Toast.makeText(getApplicationContext(),adapterView.getItemIdAtPosition(i)+"is Checked",Toast.LENGTH_LONG).show(); 
      Toast.makeText(getApplicationContext(),adapter.getItem(i),Toast.LENGTH_LONG).show(); 
     } 
    }); 
} 

任何人都可以向我解釋如何在項目clickListener的工作? (onclick item listener是什麼View view , int i , long I?一個新的Adapter視圖類或對象?android studio。我想了解一下使用on item click listener的功能。它是如何工作的?

回答

1

OnItemClickListenerListener它保持監聽事件。當您點擊ListView中的任何項目時,該界面將被觸發,並將調用onItemClick回調(抽象方法)。因此,只需重寫此方法,並將您的代碼在單擊該項目時運行。在你的情況,你只是顯示與吐司項目編號。

onItemClick:這是Android的Callback方法。當點擊此ListView中的項目時可以調用此項。

此方法接受四個參數adapterView, view, i, l

適配器視圖(適配器視圖):其中點擊發生的適配器視圖。這可能是一個ListView,GridView等。這些類來自AdapterView類。

查看(查看): AdapterView中被點擊的視圖(這將是適配器提供的視圖)。當您單擊ListView中的項目時,View參數在onItemClick()方法中傳遞。

int(i):視圖在適配器中的位置。通過這種方式,你可以獲得物品。位置從0開始到n。

長(l):被點擊的項目的行號。

請參閱此documentation。希望這可以幫助你...

+1

謝謝你。上帝保佑你 –

+0

你明白嗎?如果我的回答可以幫助你,那麼接受它。 @KareemIbraheem –

+0

這是我第一次把她的問題。我接受 。如果有其他程序?告訴我去做吧。 –

相關問題