Java 我的应用程序停止工作了?
我的主要活动:Java 我的应用程序停止工作了?,java,android,Java,Android,我的主要活动: public class MainActivity extends FragmentActivity implements ActionBar.TabListener { private ViewPager viewPager; private ActionBar actionBar; private TabsFragmentPagerAdapter tabsAdapter; private String[] days = new String[
public class MainActivity extends FragmentActivity implements ActionBar.TabListener {
private ViewPager viewPager;
private ActionBar actionBar;
private TabsFragmentPagerAdapter tabsAdapter;
private String[] days = new String[]{"Monday","Tuesday"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.viewPager);
tabsAdapter = new TabsFragmentPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(tabsAdapter);
actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
for(int i=0; i<3; i++){
actionBar.addTab(actionBar.newTab().setText(days[i]).setTabListener(this));
}
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int arg) {
// TODO Auto-generated method stub
actionBar.setSelectedNavigationItem(arg);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction arg1) {
// TODO Auto-generated method stub
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub
}
下一个:
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class TuesdayFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view = inflater.inflate(R.layout.fragment_tuesday, container, false);
return view;
}
}
对于堆栈跟踪类型:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class TabsFragmentPagerAdapter extends FragmentPagerAdapter {
public TabsFragmentPagerAdapter(FragmentManager fm) {
super(fm);
// TODO Auto-generated constructor stub
}
@Override
public Fragment getItem(int index) {
// TODO Auto-generated method stub
if(index == 0)
return new MondayFragment();
if(index == 1)
return new TuesdayFragment();
return null;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 3;
}
}
要显示第一页的我的xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#00fff8" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Monday"
android:textSize="40dp"
android:gravity="center" />
</LinearLayout>
要显示第二个选项卡的我的xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#59ff85" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Tuesday"
android:textSize="40dp"
android:gravity="center" />
</LinearLayout>
最后我想告诉你,我已经坚持了三天了。请更正此代码。中的“TabListener”界面不可用。
但是忽略它,在几毫秒后运行我的应用程序,然后“不幸的是,你的应用程序停止工作了”。。。。。。。。。。。。
请帮帮我。。。。。并为我编写正确的代码。。。。。。。。。。现在大脑结束了……我也结束了。我真的不知道发生了什么事。我想要帮助解决那个问题。如果我知道是什么问题,我可能会自己解决。我需要帮助确定问题+如果你知道解决方案。如果你需要其他文件,告诉我我会加载。
但是帮帮我。您的
getCount
实现是错误的。getItem是基于0的,当位置为2时,它返回null,但不能返回null。改变
@Override
public int getCount() {
return 3;
}
到
嗨,如果你发布这样的问题,在这里很难得到帮助。。。大写字母就像在喊,不能很好地解释你的问题……嗯,对不起。。。。。。关于这一点,我是新来的。抱歉……正如大家所说,不要使用大写锁定。看起来你在大喊大叫,你需要发布你真正的问题,而不仅仅是复制和粘贴你的代码,期待有人更正。在这种情况下,stacktrace和与问题相关的代码将更加有用。因此,请改进您的问题,让我们来帮助您。谢谢你的评论。对不起,我是新来的。我不知道哪里出了问题!我的代码编译完美,构建完美,但在amulator上不起作用。。你能告诉我我在android studio中从哪里找到stacktrace的东西吗?谢谢你的更正,但仍然有一个相同的问题…发布异常的stacktrace Orry!!!我不明白…@MuhammadTaha没有logcat很难解决这个问题。请粘贴它。先生@krystian71115。请问我在安卓工作室的什么地方找到了我的logcat?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#59ff85" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Tuesday"
android:textSize="40dp"
android:gravity="center" />
</LinearLayout>
@Override
public int getCount() {
return 3;
}
@Override
public int getCount() {
return 2;
}