public class Checkout extends AppCompatActivity {
//ArrayList<String> stringArray = new ArrayList<>();
ArrayList<Integer> ekdum_final_order_names = new ArrayList<>();
Intent intent = getIntent();
public ArrayList<Integer> intArray_id_selected;
public ArrayList<Integer> intArray_no;
Map<Integer ,String> linkedHashMap = new LinkedHashMap<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_checkout);
intArray_no = (ArrayList<Integer>) intent.getSerializableExtra("int_array_no");
intArray_id_selected = (ArrayList<Integer>) intent.getSerializableExtra("int_array_id");
Toast.makeText(getBaseContext(),intArray_id_selected.get(0)+" "+ intArray_no.get(0),Toast.LENGTH_SHORT).show();
}
这是使用意图从Antoher类接收阵列清单的类。我得到了不受限制的铸造警告: "Unchecked cast: 'java.io.Serializable' to 'java.util.ArrayList<android.app.Fragment>'" and due to this i get java null pointer exception.
这个logcat:
引起的:java.lang.nullpointerexception:尝试调用虚拟 方法'Java.io.Serializable android.content.intent.getSerializableExtra(java.lang.string)' 空对象引用 在 com.example.gandhjee.pantry_order.checkout.oncreate(Checkout.java:39)
请帮助我找到自己的错误。任何帮助将不胜感激。谢谢。
您应该在onCreate()
内调用getIntent()
。由于onCreate()
之后的意图可用,因此onCreate()
之前存在Intent
。
尝试以下操作:
public class Checkout extends AppCompatActivity {
//ArrayList<String> stringArray = new ArrayList<>();
ArrayList<Integer> ekdum_final_order_names = new ArrayList<>();
public ArrayList<Integer> intArray_id_selected;
public ArrayList<Integer> intArray_no;
Map<Integer ,String> linkedHashMap = new LinkedHashMap<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_checkout);
Intent intent = getIntent();
intArray_no = (ArrayList<Integer>) intent.getSerializableExtra("int_array_no");
intArray_id_selected = (ArrayList<Integer>) intent.getSerializableExtra("int_array_id");
Toast.makeText(getBaseContext(),intArray_id_selected.get(0)+" "+ intArray_no.get(0),Toast.LENGTH_SHORT).show();
}
如果这不起作用,请尝试创建您的数组,并使用意图数据克隆为:
intArray_no = new ArrayList<Integer>((Integer)intent.getSerializableExtra("int_array_no");