public class Chug1 extends Activity implements View.OnClickListener{
View mPage1, mPage2, mPage3;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chug1);
mPage1 = findViewById(R.id.page1);
mPage2 = findViewById(R.id.page2);
mPage3 = findViewById(R.id.page3);
findViewById(R.id.image1).setOnClickListener(this);
findViewById(R.id.btnpage1).setOnClickListener(mClickListener);
findViewById(R.id.btnpage2).setOnClickListener(mClickListener);
findViewById(R.id.btnpage3).setOnClickListener(mClickListener);
}
Button.OnClickListener mClickListener = new Button.OnClickListener() {
public void onClick(View v) {
mPage1.setVisibility(View.INVISIBLE);
mPage2.setVisibility(View.INVISIBLE);
mPage3.setVisibility(View.INVISIBLE);
switch (v.getId()) {
case R.id.btnpage1:
mPage1.setVisibility(View.VISIBLE);
break;
case R.id.btnpage2:
mPage2.setVisibility(View.VISIBLE);
break;
case R.id.btnpage3:
mPage3.setVisibility(View.VISIBLE);
break;
}
}
};
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()) {
case R.id.image1:
Uri image1Uri = Uri.parse("file://"+this.getFilesDir()+"/aa.png");
Intent image1 = new Intent(Intent.ACTION_VIEW, image1Uri);
image1.setDataAndType(image1Uri, "image/*");
startActivity(image1);
break;
}}}
이게 클래스 이고 이 클래스에서 chug1 클래스를 연결할려고 하는데 안되네요..
No activity specified! Getting the launcher activity. 이런거와 함께 인텐트 넘기는 부분에서 예상치 못하게 중지 되었습니다. 이러면서 꺼지네요 ㅜㅜ
이건 매니페스트 입니다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.androidside.background"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Background"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Option"
android:label="@string/app_name"></activity>
<activity android:name=".List1"
android:label="@string/app_name">
</activity>
<activity android:name=".Chug1"
android:label="@string/app_name"></activity>
<activity android:name=".List2"
android:label="@string/app_name"></activity>
</application>
</manifest>
소스코드를 잘못올렸네요 ㅜ
public class MainActivity extends Activity {
ListView myListview;
IconTextView temp;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
// window feature for no title - must be set prior to calling setContentView.
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
myListview = (ListView)findViewById(R.id.myListview);
final IconTextListAdapter adapter = new IconTextListAdapter(this);
// add four items
Resources res = getResources();
adapter.addItem(new IconTextItem("비경8선"));
adapter.addItem(new IconTextItem(res.getDrawable(R.drawable.s01), "삼악산", "강원 춘천시 서면 덕두원리 118-6",""));
adapter.addItem(new IconTextItem(res.getDrawable(R.drawable.b02), "남이섬", "강원 춘천시 남산면 방하리 198", ""));
adapter.addItem(new IconTextItem(res.getDrawable(R.drawable.b03), "소양댐", "강원도 춘천시 신북읍 천전리 산4번지", ""));
adapter.addItem(new IconTextItem(res.getDrawable(R.drawable.b04), "의암댐", "강원 춘천시 신동면(新東面) 의암리", ""));
adapter.addItem(new IconTextItem(res.getDrawable(R.drawable.b05), "용화산", "강원 춘천시 사북면 고성리 산102 외14 ",""));
adapter.addItem(new IconTextItem(res.getDrawable(R.drawable.b06), "구곡폭포", "강원 춘천시 남산면 강촌1리 432번지", ""));
adapter.addItem(new IconTextItem(res.getDrawable(R.drawable.b07), "청평사", "강원도 춘천시 북산면 청평리 674", ""));
adapter.addItem(new IconTextItem(res.getDrawable(R.drawable.b08), "봉의산성", "강원 춘천시 소양로 1가 산1-1", ""));
myListview.setAdapter(adapter);
myListview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id){
switch(position){
case 0:
Intent a= new Intent(MainActivity.this,Chug1.class);
startActivity(a);
break;
}
} });
} }
이거 입니다.
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// 필요한 기능 구현
dbID = String.valueOf(mData.get(position).id);
Intent intent = new Intent("인텐트");
startActivity(intent);
}
});
여기서 position값은 어떤식으로 정의해 줘야 하나요?? position=0으로 정의 하면 첫번째 리스트가 나오게 할려면요..
onItemClick 에 파라미터인 position값은 정의하는것이 아니라
리스트뷰의 아이템을 클릭했을때 onItemClick 콜백메소드가 호출되면서 안드로이드로부터 넘겨받는 인자값입니다. (클릭된 위치의 Item position넘버가 들어옵니다) 그러면 어디가 클릭된건지 알 수있는것이고, 선택된 item의 번호를 가지고
Adapter에 탑재되있는 item들의 해당 번호에 매치되는 데이터를 꺼내서 사용하면 되겠습니다.
제가 쓴것은 예재이고...
mData.get(position).id
mData <- 어댑터에 탑재한 ArrayList자료의 해당되는 position의 id값을 String dbID에 저장하는겁니다.
해당되는 id값으로 다음페이지에서 DB에서 클릭된 position에 해당되는 데이터들을 읽어와 사용하면되죠.
리스트뷰라고 하셨는데 정작
리스트뷰구현부분은 없네요 ..
리스트뷰의 아이템을 클릭했을때의 이벤트 리스너는 View.OnClickListener가 아니라
AdapterView.OnItemClickListener() 입니다 .
다음과 같이 사용하셔서 OnItemClickListener 오버라이드 하세요
예 )
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// 필요한 기능 구현
dbID = String.valueOf(mData.get(position).id);
Intent intent = new Intent("인텐트");
startActivity(intent);
}
});