안드로이드 개발 질문/답변
(글 수 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);
로 바꿨는데...에뮬레이터에서 에러가;;;



