我刚刚开始学习应用程序构建,我需要一些帮助。 我阅读了有关制作选项卡式导航的教程,但我无法使用。 当我按照教程我做了两个标签,每个标签都发送给你一个不同的片段(每个片段只保存文本),我的问题是我无法在每个片段中显示文本。 我在整个论坛上搜索过但我找不到类似的东西
这是我的选项卡屏幕:
package com.example.tabspractice2;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.app.ActionBar;
public class tabsScreen extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.TabListener tabListener1 = new tabs(this, "com.example.tabspractice2.tab1");
ActionBar.Tab tab1 = actionBar.newTab();
tab1.setText("tab1");
tab1.setTabListener(tabListener1);
actionBar.addTab(tab1);
ActionBar.TabListener tabListener2 = new tabs(this, "com.example.tabspractice2.tab2");
ActionBar.Tab tab2 = actionBar.newTab();
tab2.setText("tab2");
tab2.setTabListener(tabListener2);
actionBar.addTab(tab2);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
这是TabListener:
package com.example.tabspractice2;
import android.app.ActionBar.Tab;
import android.app.FragmentTransaction;
import android.app.ActionBar;
import android.app.Fragment;
import android.content.Context;
public class tabs implements ActionBar.TabListener {
Context _context;
String _tabFragmentClassName;
Fragment _tabFragment = null;
String content;
public tabs (Context context, String tabFragmentClassName){
_context = context;
_tabFragmentClassName = tabFragmentClassName;
}
@Override
public void onTabSelected(Tab arg0, FragmentTransaction arg1) {
if (_tabFragment == null){
_tabFragment = Fragment.instantiate(_context, _tabFragmentClassName);
arg1.add(_tabFragment, content);
}
else
arg1.attach(_tabFragment);
}
@Override
public void onTabUnselected(Tab arg0, FragmentTransaction arg1) {
arg1.detach(_tabFragment);
}
@Override
public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub
}
}
这是我的一个标签(它们看起来都一样)
package com.example.tabspractice2;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.app.Fragment;
import android.os.Bundle;
public class tab1 extends Fragment{
@Override
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedIns){
return inflater.inflate(R.layout.tab1, container, false);
}
}
每个都指向一个xml文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/tab1TextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:text="tab1" />
</ScrollView>
应该加载文本,但由于某种原因它不会显示,我认为它与标签类中的“内容”有关,但它超出了我的理解...... 在教程中,他们将内容定向到R.id,但它给了我一个错误,我无法正确更改R文件...所以我创建了一个新字段,我想这是错的......