Android 如何使用recyclerview适配器从字符串数组列表中的元素获取字符串

Android 如何使用recyclerview适配器从字符串数组列表中的元素获取字符串,android,adapter,android-adapter,onitemclicklistener,onitemclick,Android,Adapter,Android Adapter,Onitemclicklistener,Onitemclick,我创建了一个RecyclerView,它使用字符串的ArrayList进行膨胀,我想为下一个获取信息的活动添加额外的信息。我可以在意图中传递元素在RecyclServiceWW中的位置,但我还希望发送该元素中显示的字符串值。recylcerView适配器使用的布局只有一个TextView,用于显示字符串ArrayList中的值 问题出在适配器中,因为我希望能够将字符串作为额外信息放入intent中。我要更改的是ItemClickListener中的onItemClick方法参数,但我不知道下一步

我创建了一个RecyclerView,它使用字符串的ArrayList进行膨胀,我想为下一个获取信息的活动添加额外的信息。我可以在意图中传递元素在RecyclServiceWW中的位置,但我还希望发送该元素中显示的字符串值。recylcerView适配器使用的布局只有一个TextView,用于显示字符串ArrayList中的值

问题出在适配器中,因为我希望能够将字符串作为额外信息放入intent中。我要更改的是ItemClickListener中的onItemClick方法参数,但我不知道下一步该怎么做

下面是适配器:

适配器_displays_rv.java

我想我所要做的只是修改一下onite的mclick参数,但还有什么其他的呢

以下是布局,以防万一:

recyclerview\u simple\u layout.xml

然后是主要的活动:

FoodFamilyActivity.java


如果您还需要什么,请告诉我,因为我确实需要帮助解决此问题。

您可以向适配器添加以下功能

public String getDishForPosition(int position) {
        if (mData != null && mData.size() > 0) {
            return mData.get(position);
        }
        return null;
    }
您已经使用getAdapterPosition获得了相关职位。使用上述函数可以从列表中获取字符串

将您的界面更改为

public interface ItemClickListener {
        void onItemClick(View view, int position,String dishes);
    }

现在您的活动中有了所需的字符串,您可以将其传递给Intent

乐意帮助:
public class FoodFamilyActivity extends Activity implements Adapter_dishes_rv.ItemClickListener {

    Adapter_dishes_rv adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_food_family);

        ArrayList<String> dishesOfAFamily = new String[]{"Sopa de pobre", "Sopa de pescado", "Sopa de sobre"}
        RecyclerView recyclerView = findViewById(R.id.FamilyDishes);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        adapter = new Adapter_dishes_rv(this, dishesOfAFamily);
        adapter.setClickListener(this);
        recyclerView.setAdapter(adapter);
    }
    @Override
    public void onItemClick(View view, int position) {
        Intent intent = new Intent(FoodFamilyActivity.this, DishActivity.class);
        intent.putExtra(DishActivity.EXTRA_DISHNO, (int) position);
        startActivity(intent);
    }
}
public String getDishForPosition(int position) {
        if (mData != null && mData.size() > 0) {
            return mData.get(position);
        }
        return null;
    }
public interface ItemClickListener {
        void onItemClick(View view, int position,String dishes);
    }