안드로이드 개발 질문/답변
(글 수 45,052)
package com.bu.list;
import android.app.ListActivity; import android.content.Intent;
import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; import android.widget.AdapterView.OnItemClickListener;
public class list extends ListActivity implements OnItemClickListener{ TextView selection; String[] items={"lorem", "ipsum", "dolor"}; long nowimg ; ListView list; /** Called when the activity is first created. */ @Override //액티비티 생성시 호출 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //레이아웃 지정 setContentView(R.layout.main); //리스트 어댑터를 새로생성한 ArrayAdapter로 지정 //ArrayAdapter 생성 할때 사용 할 레이아웃을 //row.xml 로 지정하고, 텍스트뷰로 사용할 것이 //R.id.label 인것을 알린다 setListAdapter(new ArrayAdapter<String>(this, R.layout.row, R.id.label, items)); //텍스트 뷰를 레이아웃에서 얻음 selection = (TextView)findViewById(R.id.selection); list = (ListView)findViewById(android.R.id.list); list.setOnItemClickListener(this);
} public void onItemClick(AdapterView<?> parent, View view, int position, long id) { switch (position){ case 0 : setContentView(R.layout.test); break; case 1 : setContentView(R.layout.test); break; } } /*public void onListItemClick(ListView parent, View v, int position, long id){ //현재 위치에 문자열을 화면에 출력 selection.setText(items[position]);
}*/ }
각 리스트뷰의 아이템을 클릭하면 레이아웃이 이동하게 하고 싶습니다.
Jing님의 도움을 받아 소스를 수정해봤는데;;; 안되네요;;;
해당 프로젝트의 자료도 함께 첨부할께용 ㅠㅠ
2010.07.15 15:11:25
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.d("===POSTION===", String.format("%d", position));
Intent intent = new Intent(list.getContext(), list.class);
switch (position){
case 0 :
startActivity(intent);
break;
case 1 :
startActivity(intent);
break;
}
}
이렇게 바꿔보세요 ^^;
setContentView를 쓰셔서 그런거 같습니다~
2010.07.15 16:30:05
이렇게하면;; 계속 화면이 똑같이되고... test 화면으로는 안넘어가서...
java 파일 하나 더 만들어가지고
package com.bu.list;
import android.app.Activity;
import android.os.Bundle;
public class list22 extends Activity{
/** Called when the activity is first created. */
@Override
//액티비티 생성시 호출
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
}
}
이렇게 바꾼후에
Intent intent = new Intent(list.getContext(), list.class);
요부분을
Intent intent = new Intent(list.getContext(), list22.class);
로 바꿨는데...에뮬레이터에서 에러가;;;