package my.TabView;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.BaseAdapter;
import android.widget.ListView;
public class TabView extends Activity {
/** Called when the activity is first created. */
private ListView mList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.transmission_title);
mList = (ListView) findViewById(R.id.ListView);
mList.setAdapter(new ListViewAdapter(this));
}
//리스트 뷰
private class ListViewAdapter extends BaseAdapter {
private LayoutInflater mInflater;
public ListViewAdapter(Context context) {
mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
return 7;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
convertView = (View)mInflater.inflate(R.layout.t_tm_receiveuser, parent, false);
return convertView;
}
}
}
위와 같이 하면 리스트 뷰가 잘나오는데요~
package com.gaongames.tms.UI;
import android.app.TabActivity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TabHost;
import android.widget.TextView;
import com.gaongames.tms.R;
public class TransMission extends TabActivity{
private ListView mList;
private int length = 3;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.transmission);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.transmission_title);
TabHost mTabHost = getTabHost();
mTabHost.addTab(mTabHost.newTabSpec("tab_test1")
.setIndicator("위젯")
.setContent(R.id.T_TransMission)
);
mTabHost.addTab(mTabHost.newTabSpec("tab_test2")
.setIndicator("이미지뷰")
.setContent(R.id.D_TransMission)
);
mTabHost.addTab(mTabHost.newTabSpec("tab_test2")
.setIndicator("이미지뷰")
.setContent(R.id.TW_TransMission)
);
updateLayout();
}
private void updateLayout() {
mList = (ListView) findViewById(R.id.T_TM_ListView);
mList.setAdapter(new ListViewAdapter(this));
mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id){
}
});
}
//리스트 뷰
private class ListViewAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private Bitmap pictureimg;
public ListViewAdapter(Context context) {
mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//pictureimg = BitmapFactory.decodeResource(context.getResources(), R.drawable.picture);
}
public int getCount() {
return 0;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
private int num = 0;
public View getView(int position, View convertView, ViewGroup parent) {
convertView = (View)mInflater.inflate(R.layout.t_tm_receiveuser, parent, false);
return convertView;
}
}
}
TabActivity 를 사용 하여 탭안에 리스트 뷰를 넣을려니 아래와 같은 오류가 나네요...
혹시 어떤 문제인지 알수 있을까요~_~
오류코드를 봐도 모르겠다는 ㅠㅠ
05-04 02:48:47.581: ERROR/AndroidRuntime(500): Uncaught handler: thread main exiting due to uncaught exception
05-04 02:48:47.612: ERROR/AndroidRuntime(500): java.lang.RuntimeException: Unable to start activity ComponentInfo{my.TabView/my.TabView.TabView}: java.lang.RuntimeException: Your content must have a TabHost whose id attribute is 'android.R.id.tabhost'
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2481)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2497)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1848)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at android.os.Handler.dispatchMessage(Handler.java:99)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at android.os.Looper.loop(Looper.java:123)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at android.app.ActivityThread.main(ActivityThread.java:4338)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at java.lang.reflect.Method.invokeNative(Native Method)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at java.lang.reflect.Method.invoke(Method.java:521)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at dalvik.system.NativeStart.main(Native Method)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): Caused by: java.lang.RuntimeException: Your content must have a TabHost whose id attribute is 'android.R.id.tabhost'
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at android.app.TabActivity.onContentChanged(TabActivity.java:105)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:201)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at android.app.Activity.setContentView(Activity.java:1622)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at my.TabView.TabView.onCreate(TabView.java:21)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2444)
05-04 02:48:47.612: ERROR/AndroidRuntime(500): ... 11 more
리스트뷰 관련 Activity를 Tab안에 Intent시키는게 맘편할듯...