关于android 页面滑动,滑动到第四个页面调试时闪退

移动开发 码拜 4年前 (2016-09-21) 479次浏览
下边贴代码:
这是DetailActivity  里边的代码:
public class DetailActivity extends FragmentActivity {
private ViewPager viewPager;
private PagerAdapter adapter;
private String test;

/* private Intent intent ;
private TextView songname;
private TextView singer;
private ImageView  image;
private TextView content;
private Musics  musics;*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
this.viewPager = (ViewPager) this.findViewById(R.id.fragement_main);
FragmentManager fm =getSupportFragmentManager();
this.adapter = new MyPagerAdapter(fm);
this.viewPager.setAdapter(adapter);
this.getActionBar().setDisplayHomeAsUpEnabled(true);

}
public class MyPagerAdapter extends FragmentPagerAdapter{
public MyPagerAdapter(FragmentManager fm) {
super(fm);
// TODO Auto-generated constructor stub
}
@Override
public Fragment getItem(int num) {
Fragment  fragment = new DetailFragment(num);
Bundle bundle =new Bundle();
bundle.putString(“test”, test);
fragment.setArguments(bundle);
// TODO Auto-generated method stub
return fragment;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 10;
}
}
@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_page, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
switch (id) {
case R.id.share:
actionShare();
break;
}
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
private void actionShare() {
// TODO Auto-generated method stub
Toast.makeText(this, “成功分享”, Toast.LENGTH_SHORT).show();
}
//使用XML文件生成上下文菜单
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
getMenuInflater().inflate(R.menu.main_page, menu);
super.onCreateContextMenu(menu, v, menuInfo);
}
//上下文设置事件
@Override
public boolean onContextItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.share:
actionShare();
break;
}
return super.onContextItemSelected(item);
}
}
接下来是DetailFragment  代码
public class DetailFragment extends Fragment {
private int index;
private DataProvider provider;
private Loves loves;
public DetailFragment(int arg0) {
this.index = arg0;
// TODO Auto-generated constructor stub
}

@Override
public void onCreate(Bundle savedInstanceState) {

this.provider  = new DataProvider();
this.loves = this.provider.getLovesByIndex(index);
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_detail_fragment, container, false);
TextView songname = (TextView) view.findViewById(R.id.Dsongname);
ImageView image = (ImageView) view.findViewById(R.id.Dimage);
//image2.setAlpha(100);
songname.setText(loves.getSongname());
image.setImageResource(loves.getImage());
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);

}
}
数据是写了一个dataprovider 提供的
为什么在调试的时候,滑动到第四个页面就闪退了   实在找不到原因

解决方案

60

代码格式有点乱。
log能比较快的定位问题。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于android 页面滑动,滑动到第四个页面调试时闪退
喜欢 (0)
[1034331897@qq.com]
分享 (0)