تبدیل String به ArrayList و برعکس در آندروید
سوال : سلام چطور میتونم یک رشته رو تبدیل کنم به ارایه ؟ مثلا رشته من به اینصورت هست ali , mahmood, javad این رو میخوام به ArrayList تبدیل کنم . لطفا راهنمایی بفرماید ؟
پاسخ : به کمک دستور Arrays.asList میتوانید به راحتی String رو تبدیل به آرایه کنید . به مثال زیر توجه کنید :
private String[] name = {"ALi","Abbas","Hossein","Javad"};
private String pass= "123,321,5086,1012";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Convert String to ArrayList
ArrayList<String> email = new ArrayList<String>(Arrays.asList(pass.split(",")));
//Convert Array to ArrayList
//ArrayList<String> email = new ArrayList<String>(Arrays.asList(name));
ArrayAdapter<String> adapter = new ArrayAdapter<String>(Main.this, android.R.layout.simple_list_item_1, email);
ListView list = (ListView)findViewById(R.id.list);
list.setAdapter(adapter);
}
در مثال بالا ما String را تبدیل به ArrayList کرده ایم . حال در ادامه میخواهیم ArrayList را تبدیل به ارایه کنیم :
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ArrayList<String> name = new ArrayList<String>();
name.add("Ali");
name.add("mahmood");
name.add("javad");
ArrayList<String> pass = new ArrayList<String>();
pass.add("123");
pass.add("321");
pass.add("1012");
String[] string_name = new String[name.size()];
string_name = name.toArray( string_name );
String[] string_pass = new String[pass.size()];
string_pass = pass.toArray( string_pass );
CustomList adapter = new CustomList(Main.this, R.layout.custom_list, string_name, string_pass);
ListView list = (ListView)findViewById(R.id.list);
list.setAdapter(adapter);
}