我的应用程序已停止工作? [关闭]
Posted
技术标签:
【中文标题】我的应用程序已停止工作? [关闭]【英文标题】:My Application has stopped working? [closed] 【发布时间】:2015-07-10 18:54:18 【问题描述】:我的主要活动:
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
我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.muhammad_taha.tablelayout" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
我的下一个代码:
public class MondayFragment extends Fragment
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
// TODO Auto-generated method stub
View view = inflater.inflate(R.layout.fragment_monday, container, false);
return view;
还有下一个:
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_
android:layout_
android:orientation="vertical"
android:background="#00fff8" >
<TextView
android:id="@+id/textView1"
android:layout_
android:layout_
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_
android:layout_
android:orientation="vertical"
android:background="#59ff85" >
<TextView
android:id="@+id/textView1"
android:layout_
android:layout_
android:text="Tuesday"
android:textSize="40dp"
android:gravity="center" />
</LinearLayout>
最后我想告诉你,我从 3 天开始就一直坚持这一点。请更正此代码。 “TabListener”接口不可用。 但是忽略它并在几毫秒后运行我的应用程序然后 bhoooo “不幸的是你的应用程序已经停止工作”............ 请帮助我......并为我编写正确的代码............现在大脑已经完成............我完成了。我真的不知道后端发生了什么。我需要帮助来解决这个问题。如果我知道问题是什么,我可能会自己解决。我需要帮助来确定问题+如果您知道解决方案。如果您需要其他文件,请告诉我我会加载它。 但请帮帮我。
【问题讨论】:
您好,如果您发布这样的问题,真的很难在这里获得帮助...大写就像在喊叫,并不能很好地解释您的问题... 嗯对不起......关于那个 我是新手。对不起..... 正如大家所说,不要使用 caps lock 看起来你在大喊大叫,你需要发布你真正的问题,而不仅仅是复制粘贴你的代码并期待有人说得对。在这种情况下,您的堆栈跟踪和与问题相关的代码将更加有用。因此,请改进您的问题,让我们为您提供帮助。 @Alisson Morais 先生。感谢您的评论。对大写的事情感到抱歉。我是新来的。不知道问题出在哪里!我的代码编译完美,构建完美,但无法在模拟器上运行.. 你能告诉我我在 android studio 中哪里找到堆栈跟踪的东西吗? 【参考方案1】:您的getCount
实现是错误的。 getItem 是从 0 开始的,当 position 为 2 时返回 null,但不能返回 null。改变
@Override
public int getCount()
return 3;
到
@Override
public int getCount()
return 2;
【讨论】:
感谢指正,但还是有同样的问题..... 发布异常的堆栈跟踪 对不起!!!没听懂..... @MuhammadTaha 没有 logcat 很难解决这个问题。请粘贴。 先生@krystian71115。请告诉我我在 android studio 中的哪里找到我的 logcat?以上是关于我的应用程序已停止工作? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章