android中的选项卡编程布局
我需要使用选项卡布局,在该布局中,我尝试以编程方式访问两个选项卡中的两个活动类。我尝试过,但在运行时出错。请参阅下面的代码,测试活动android中的选项卡编程布局,android,Android,我需要使用选项卡布局,在该布局中,我尝试以编程方式访问两个选项卡中的两个活动类。我尝试过,但在运行时出错。请参阅下面的代码,测试活动 public class TestActivity extends TabActivity { protected static final View View = null; /** Called when the activity is first created. */ @Override public void onCre
public class TestActivity extends TabActivity {
protected static final View View = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Resources ressources = getResources();
TabHost tabHost = getTabHost();
// Android tab
Intent intentAndroid = new Intent().setClass(this, AndroidActivity.class);
TabSpec tabSpecAndroid = tabHost
.newTabSpec("Android")
.setContent(intentAndroid);
tabHost.addTab(tabSpecAndroid);
setContentView(tabHost);
}
}
Android活动(需要以选项卡顺序显示的活动,名称为andriod
)
我不知道有什么问题。请以编程方式(不使用任何xml文件)提供
TabLayout
的简单示例。ATabActivity
可能已经包含了内容。尝试不调用setContentView()
,看看这是否解决了您的问题。ATabActivity
可能已经包含了该内容。尝试不调用setContentView()
,看看这是否解决了您的问题
创建父类以按选项卡顺序显示所有其他类
创建要按制表符顺序显示的第一个子类
创建第二个子类,我们希望在其中按制表符顺序显示
在android manifest.cml中添加所有子类
现在运行代码,就这样
创建父类以按选项卡顺序显示所有其他类
创建要按制表符顺序显示的第一个子类
创建第二个子类,我们希望在其中按制表符顺序显示
在android manifest.cml中添加所有子类
现在运行代码,就这样
你能发布堆栈跟踪吗?堆栈跟踪?这意味着,当我在setContentView(tabHost)行之前调试时,我对错误的LogCat输出不熟悉,给出了“source not found”错误;(测试活动类)。我觉得我的代码错了,需要修改。你能发布堆栈跟踪吗?堆栈跟踪?这意味着,当我在setContentView(tabHost)行之前调试时,我对错误的LogCat输出不熟悉,给出了“source not found”错误;(测试活动类)。我觉得我的代码错了,需要修改我的两个类对吗?如果我删除setcontent视图,我会得到类似“由以下原因引起的错误:java.lang.IllegalArgumentException:您必须指定一种创建选项卡指示器的方法。”在logcatpls中,如果您以编程方式进行了更改,请给我简单的示例。如果没有任何xml文件,您必须在
TabSpec
对象上调用setIndicator()
。我使用setIndicator()像tabSpecAndroid.setIndicator(getCurrentFocus())。现在它显示空指针例外。指示器只是选项卡的标题。传递一个CharSequence
值,例如“tab1”。我的两个类是否正确?如果我删除setcontent视图,我会得到类似“由以下原因引起的错误:java.lang.IllegalArgumentException:您必须指定一种创建选项卡指示器的方法。”在logcatpls中,如果您以编程方式进行了更改,请给我简单的示例。如果没有任何xml文件,您必须在TabSpec
对象上调用setIndicator()
。我使用setIndicator()像tabSpecAndroid.setIndicator(getCurrentFocus())。现在它显示空指针例外。指示器只是选项卡的标题。将CharSequence
值传递给它,例如“Tab 1”。
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class AndroidActivity extends Activity
{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textview = new TextView(this);
textview.setText("This is Android tab");
setContentView(textview);
}
}
import android.app.TabActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TabHost.TabSpec;
import android.content.Intent;
import android.content.res.Resources;
import android.widget.TabHost;
public class TestActivity extends TabActivity {
protected static final View View = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Resources ressources = getResources();
TabHost tabHost = getTabHost();
// Android tab
Intent intentAndroid = new Intent().setClass(this, AndroidActivity.class);
TabSpec tabSpecAndroid = tabHost
.newTabSpec("Android")
//add .png type images in res folder hdpi,ldpi,mdpi,xhdpi
tabSpecAndroid.setIndicator("",getResources().getDrawable(R.drawable.arrival));//arrival is the name of png image, delete this line if u hav no images
.setContent(intentAndroid);
tabSpecAndroid.setIndicator("Android");
tabHost.addTab(tabSpecAndroid);
//Welcome tab
Intent intentBus = new Intent().setClass(this, Welcome.class);
TabSpec tabSpecBus = tabHost
.newTabSpec("Welcome")
.setContent(intentBus);
tabSpecBus.setIndicator("Welcome");
tabHost.addTab(tabSpecBus);
}
}
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class AndroidActivity extends Activity
{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textview = new TextView(this);
textview.setText("This is Android tab");
setContentView(textview);
}
}
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class Welcome extends Activity
{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textview = new TextView(this);
textview.setText("This is Welcome tab");
setContentView(textview);
}
}
<activity android:name=".AndroidActivity" android:theme="@android:style/Theme.Black.NoTitleBar"></activity>
<activity android:name=".Welcome" android:theme="@android:style/Theme.Black.NoTitleBar"></activity>
</application>