در این مطلب قصد داریم، روش ساختن یک لیست ویو ساده در اندروید را آموزش دهیم.
این لیست ویو منبع اطلاعات خود را از یک آرایه می گیرد.
پیش نیاز های این آموزش عبارتند از:
محیط برنامه نویسی: Eclipse
API مورد استفاده: ترجیحا 14 معادل Android 4.0.4
ابتدا همانند تصویر زیر ابتدا یک پروژه جدید می سازیم:
بقیه مراحل ساخت پروژه را به صورت پیشفرض انتخاب کنید تا صفحه ی زیر را مشاهده نمایید:
TextView موجود روی فرم را حذف کرده و از قسمت Composite کنترل ListView را روی فرم بکشید، همانند شکل زیر:
کد فایل activity_main.xml باید همانند زیر باشد:
<LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/LinearLayout1"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<ListView
android:id=
"@+id/listView1"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
</ListView>
</LinearLayout>
اکنون باید یک آرایه در فایل MainActivity.java بسازیم. کد را به صورت زیر وارد می کنیم:
آرایه مورد نظر ما لیستی از سایتهای دوستانم می باشد. حالا یک ArrayAdapter می سازیم و به عنوان منبع برای لیست ویو قرار می دهیم:
اکنون در کد زیر مشخص می کنیم که اگر روی یک رکورد مورد نظر کلیک شد، مکان و همچنین متن رکورد را با یک پیغام مناسب نمایش دهد:
اکنون کد آماده است. کافی است برنامه را اجرا کنید تا خروجی را به صورت زیر در شبیه ساز مشاهده کنید:
کد کامل فایل MainActivity.java به صورت زیر می باشد:
package
ir.parsiprozhe.listview;
import
android.app.Activity;
import
android.os.Bundle;
import
android.view.Menu;
import
android.view.MenuItem;
import
android.view.View;
import
android.widget.AdapterView;
import
android.widget.AdapterView.OnItemClickListener;
import
android.widget.ArrayAdapter;
import
android.widget.ListView;
import
android.widget.Toast;
public
class
MainActivity
extends
Activity {
String[] arr1=
new
String[]{
"www.parsiprozhe.ir"
,
"www.milad-hatami.ir"
,
"www.gelf.ir"
,
"wwww.SWDL.ir"
,
"www.lor-it.com"
,
"www.lorestan.info"
,
"www.soitip.org"
};
ListView list1;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list1=(ListView)findViewById(R.id.listView1);
ArrayAdapter<String> adapter=
new
ArrayAdapter<String>(
this
,
android.R.layout.simple_list_item_1,arr1);
list1.setAdapter(adapter);
list1.setOnItemClickListener(
new
OnItemClickListener() {
@Override
public
void
onItemClick(AdapterView<?> arg0, View arg1,
int
arg2,
long
arg3) {
// TODO Auto-generated method stub
String msg=
"pos= "
+arg2+
" value= "
+(String)list1.getItemAtPosition(arg2);
Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
}
});
}
@Override
public
boolean
onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return
true
;
}
@Override
public
boolean
onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int
id = item.getItemId();
if
(id == R.id.action_settings) {
return
true
;
}
return
super
.onOptionsItemSelected(item);
}
}
امیدواریم که از این آموزش نهایت استفاده را برده باشید.