2015-10-28 52 views
0

我有一个cardview的xml文件在我的主要android类的recyclerview中使用。此卡片视图包含一个按钮,用于从列表中删除卡片视图。我遇到的问题是recyclerview中的所有按钮都具有相同的onClick值,我不知道如何区分它们。如何确定Android中的按钮列表中按下了哪个按钮?

这是我在cardview XML按钮:

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Delete" 
    android:id="@+id/btnDelete" 
    android:onClick="DeleteCard" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" /> 

在我的主类,我有每当我按任何按钮删除的运行功能DeleteCard。我的cardview中也有一个TextView,我想知道是否可以以某种方式检索TextView中的文本,当我按下删除按钮时,我知道要删除哪一个。

这是我onBindViewHolder:

public void onBindViewHolder(TimeViewHolder personViewHolder, int i) { 
    int min = (int)(times.get(i).time/(60 * 1000)); 
    int remaining = (int)(times.get(i).time % (60 * 1000)); 
    int sec = remaining/1000; 
    remaining = remaining % (1000); 
    int mill = (remaining%1000)/10; 
    DecimalFormat df = new DecimalFormat("00"); 
    personViewHolder.time.setText(min + ":" + df.format(sec) + "." + mill); 
    personViewHolder.date.setText(times.get(i).date); 
} 

我想从最新的文本和使用,作为一个参数来去除SharedPreferences是关键。下面是当按下删除按钮运行方法:

public void DeleteCard(View view){ 
    SharedPreferences.Editor editor = history.edit(); 
    editor.remove("Date Here"); 
    editor.commit(); 
} 
+0

备注:最好使用上下文操作栏进行删除操作。 –

回答

0

的onclick上的按钮进行中onBindViewHolder不在XML实现和位置或唯一标识符的标签添加到该按钮。所以当你点击内部的onclick从视图对象中提取标签和你想要的perfrom操作。

0

的观点传递给DeleteCard方法,这样你就可以使用view.getId()视图的ID,然后您可以切换这样的ID:

public void DeleteCard(View view) { 
    switch(view.getId()){ 

     case R.id.buttonDelete: 
     .... 
     break; 

     case R.id.buttonAdd: 
     ... 
     break; 



    } 
} 
0

从XML删除onClick(),并添加单击onCreateViewHolder(..)方法中的单击侦听器。该位置可以从ViewHolder类中的getPosition()方法检索,该类现在已弃用。

您可以使用getAdapterPosition()getLayoutPosition()来获取位置。

https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder.html#getPosition()

+0

如何将onClick()添加到onCreateViewHolder方法?对不起,我对Android非常陌生。 –

+0

这应该对你有帮助:http://stackoverflow.com/questions/5395114/add-onclick-listener-to-predefined-button – sr09

+0

我怎样才能从onCreate方法访问按钮视图? –

相关问题