안드로이드 개발 질문/답변
(글 수 45,052)
public class STZAppActivity extends Activity
{
ListView listView;
ArrayAdapter<String> adapter;
List< ApplicationInfo > appList;
ArrayList<String> list;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.applist);
listView = (ListView)findViewById(R.id.listView1);
PackageManager packagemanager = this.getPackageManager();
appList = packagemanager.getInstalledApplications( 0 );
Log.d("", ""+ appList.size());
list = new ArrayList<String>();
for (int i = 0; i < appList.size(); i++) {
list.add( appList.get(i).loadLabel(packagemanager).toString());
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
listView.setAdapter(adapter);
}
listView.setOnItemClickListener(mainSelect);
}
private OnItemClickListener mainSelect = new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView av, View v, int position, long id) {
Log.e("",""+list.get(position));
Toast.makeText(getApplicationContext(), list.get(position).toString(), Toast.LENGTH_SHORT).show();
}
};
}
흠 ... 드긴뜨는디 ...
왜 몇번째인지가 뜨는게아니라
누르면 어플이름이 뜨는거죠 ??
클릭한곳이 리스트에서 몇번째인지 알고싶은대 ...
list.get(position).toString() 이것을 출력하니까 앱 이름이 나오죠.
list에는 현재 앱의 이름들이 있자나요.
여기에 보면은 onItemClick에서 int 값으로 position이 넘어오자나요.
저 값이 사용자가 리스트에 클릭한 아이템의 인덱스에요. (0부터 시작)