اینم تشخیص صحت کد ملی وارد شده
String codemeli = meli.getText().toString();
	            try
	            {
	                int num2 = Integer.valueOf(codemeli.substring(9, 10));
	                int num3 = ((((((((Integer.valueOf(codemeli.substring(0, 1)) * 10) + (Integer.valueOf(codemeli.substring(1, 2)) * 9)) + (Integer.valueOf(codemeli.substring(2, 3)) * 8)) + (Integer.valueOf(codemeli.substring(3,4 )) * 7)) + (Integer.valueOf(codemeli.substring(4,5 )) * 6)) + (Integer.valueOf(codemeli.substring(5,6 )) * 5)) + (Integer.valueOf(codemeli.substring(6,7 )) * 4)) + (Integer.valueOf(codemeli.substring(7,8 )) * 3)) + (Integer.valueOf(codemeli.substring(8, 9)) * 2);
	                int num4 = num3 - ((num3 / 11) * 11);
	                if ((((num4 == 0) && (num2 == num4)) || ((num4 == 1) && (num2 == 1))) || ((num4 > 1) && (num2 == Math.abs((int)(num4 - 11)))))
	                {
 	                    Toast.makeText(getApplicationContext(), "کد ملی صحیح می باشد", 1).show();
	                }
	                else
	                {
 	                    Toast.makeText(getApplicationContext(), "کد ملی نامعتبر است", 1).show();
	                }
	            }
	            catch (Exception e)
	            {
 	                Toast.makeText(getApplicationContext(), "لطفا یک عدد 10 رقمی وارد کنید", 1).show();
	            }				
چون که خودم نیاز داشتم عجله ای نوشتم اگه نیاز بود خودتون مرتب کنید 
اگه مشکلی داشتید در تاپیک دیگه بپرسید از پرسش در این تاپیک خودداری نمایید