RecyclerView - 使用第二个活动的Arraylist作为数据

时间:2015-11-25 10:26:37

标签: java android android-intent arraylist android-recyclerview

我有一个Recyclerview,它使用包含Arraylist的资源文件填充数据。

我有第二个活动,其中包含EdidtextButton,可将值插入第二个活动中的另一个Arraylist设置。

我需要的是使用第二个活动的Arraylist来填充Recyclerview,而不是使用资源文件的数据。

我尝试使用Arraylist将一项活动的Intent传递给另一项活动,但未成功。

ViewHolder中的ArrayList

public ListAdapter(Context context) {
    mContext = context;

    final String[] countryNames = context.getResources().getStringArray(R.array.country_names);
    mItems = new ArrayList<>();

    for (int i = 0; i < countryNames.length; i++) {
        mItems.add(new LineItem(countryNames[i]));
    }
}

我想用作数据的第二项活动中的Arraylist

public class DisplayDescActivity extends AppCompatActivity {

    private EditText descItem;
    public static ArrayList<String> descList = new ArrayList<String>();
...
}

有办法吗?

尝试

Intent代码:

  • DisplayDescActivity代码:
    protected void onCreate(Bundle savedInstanceState)我使用过:

    Intent intent1 = new Intent(this, ListAdapter.class);
    intent1.putStringArrayListExtra("list", descLista);
    startActivity(intent1);
    
  • ListAdapter代码:
    我试过使用以下代码

    final ArrayList<String> resultArray = getIntent().getStringArrayListExtra("list");
    

但按钮 Cannot resolve method'getIntent()' 会出现。

1 个答案:

答案 0 :(得分:0)

您必须在活动的onCreate事件中初始化列表。

public class DisplayDescActivity extends AppCompatActivity {

    private EditText descItem;
    public static ArrayList<String> descList = new ArrayList<String>();

    @Override
    public void onCreate(Bundle bundle)
    {
        super.onCreate(bundle);
        descList = getIntent().getStringArrayListExtra("list"); 
    }

}