使用viewpager listview不显示数据

大神求解,用viewpager ,有数据但 listview不显示数据,是什么原因????

1个回答

什么叫做有数据但listview不显示数据?这样问的太模糊了?是不是listview中adapter还没加进去?当然具体情况不明我这也是乱猜的。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于viewpager+fragment+listview 页面≥3时,listview不显示的问题

如题。目前我用设置viewpager缓存页面的方法解决了。当如果页面过多,总不能都缓存了不是。所以。。。。各位有什么其他好办法呢? 还有,有没有详细讲解viewpager缓存机制的。嗯。他的适配器。

关于 Android Listview不显示数据的问题

![图片说明](https://img-ask.csdn.net/upload/201509/01/1441102851_227331.png) ListView 正常,数据也正常,但是就是不显示数据。 List View 中包含Item布局(TextView),ViewPager中包含ListView,MainActivity中包含Viewpager。 ==== TextView 》ListView 》ViewPager 》MainActivity ==== ListView .setAdapter(Context,ArrayList);debug调试发现 Context 指向MainActivity,此时不报错但也不显示数据。 然后根据网上的教程,重写了布局。 ==== TextView 》ListView 》MainActivity ====此时正常显示,debug调试发现 Context 指向MainActivity。 不懂为什么,可能是因为ViewPager的原因,导致Context 出错,该怎么修改呢。谢谢大脚了,

ScrollView,ViewPager,ListView嵌套问题

![图片说明](https://img-ask.csdn.net/upload/201504/22/1429682508_934584.png) 项目中想类似实现如上图的效果,全局一个ScrollView,下面我用的是ViewPager,里面有3个Fragment,Fragment下面有ListView,嵌套的各种冲突基本百度谷歌解决了,运行测试数据是没问题的,但因为我的ListView是直接计算高度的,失去了缓存机制和回收机制,在第一次加载的时候都会把ListView的所有项加载进来,担心后面会有效率的问题,因为ListView数据还是挺多的,大神们有更好的解决方法么?

ViewPager 嵌套 fragment 中无法显示fragment中的listview内容

我在viewpager中用fragment作为加载页,然后在fragment中嵌入了一个listview,单独测试时fragment能载入listview内容,但是在viewpager中加载fragment时,无法显示listview内容,fragment其他组件能显示 viewpager 代码: import java.util.ArrayList; import java.util.List; import com.nineteen.myandroid.R; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.text.Layout; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class AppUninstall extends FragmentActivity { ViewPager viewPager; // 内容页 List<View> views = new ArrayList<View>(); // 标题页 List<String> titles = new ArrayList<String>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.app_uninstall); viewPager = (ViewPager) findViewById(R.id.viewpager); LayoutInflater inflater = LayoutInflater.from(this); View view = inflater.inflate(R.id.appun_person, null); views.add(view); titles.add("个人应用"); view = inflater.inflate(R.layout.test_relatvelayout, null); views.add(view); titles.add("系统预装"); view = inflater.inflate(R.layout.test_button, null); views.add(view); titles.add("猜你不喜欢"); viewPager.setAdapter(new MyPagerAdapter(views, titles)); } class MyPagerAdapter extends PagerAdapter { List<View> views; List<String> titles; public MyPagerAdapter(List<View> views, List<String> titles) { this.views = views; this.titles = titles; } @Override public int getCount() { return views.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } // 获取到标题 public CharSequence getPageTitle(int position) { return titles.get(position); } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(views.get(position)); return views.get(position); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(views.get(position)); } } } viewpage XML: <android.support.v4.view.ViewPager android:id="@+id/appun_viewpager" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" > <android.support.v4.view.PagerTabStrip android:id="@+id/pager_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="top" /> </android.support.v4.view.ViewPager> fragment代码: import java.util.ArrayList; import java.util.HashMap; import java.util.List; import com.nineteen.myandroid.R; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.widget.ListView; import android.widget.SimpleAdapter; public class PersonApp extends FragmentActivity { List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>(); ListView listView; int[] icon = { R.drawable.a005, R.drawable.a006, R.drawable.a007, R.drawable.a008, R.drawable.a009, R.drawable.a010, R.drawable.a011, R.drawable.a012, R.drawable.a013, R.drawable.a014, R.drawable.a015, R.drawable.a016, R.drawable.a017, R.drawable.a018, R.drawable.a019 }; String[] name = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "14" }; float[] size = { 1.10f, 1.10f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 1.1f, 2.0f }; @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setContentView(R.layout.app_uninstall_listview); listView = (ListView) findViewById(R.id.app_uninstall_listview); List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>(); for (int i = 0; i < icon.length; i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("icon", icon[i]); map.put("name", name[i]); map.put("size", size[i]); list.add(map); SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.app_uninstallitem, new String[] { "icon", "name", "size" }, new int[] { R.id.appun_imageview, R.id.appun_nameview, R.id.app_unitem_size }); listView.setAdapter(adapter); } } } fragment XML:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal" android:padding="2dp" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="手机内存" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="80dp" android:text="已用" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1.31" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="GB" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:text="," /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="剩余" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1.15" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="GB" /> </LinearLayout> <ProgressBar style="@android:style/Widget.ProgressBar.Horizontal" android:layout_width="match_parent" android:layout_height="5dp" android:max="100" android:progress="52" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal" android:padding="2dp" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="SD卡" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="104dp" android:text="已用" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1.31" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="GB" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:text="," /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="剩余" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1.15" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="GB" /> </LinearLayout> <ProgressBar style="@android:style/Widget.ProgressBar.Horizontal" android:layout_width="match_parent" android:layout_height="5dp" android:max="100" android:progress="52" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:padding="3dp" android:text="最近使用" /> <ListView android:id="@+id/app_uninstall_listview" android:layout_width="match_parent" android:layout_height="match_parent" > </ListView> </LinearLayout> </LinearLayout>

蓝牙开发在ViewPager中嵌套ListView以显示设备,数据无法显示?

蓝牙开发,之前在activity_main.xml中直接添加listview显示设备list没问题,但使用viewpager嵌套listview显示设备就显示不出设备了,求大神解答 MainActivity中的问题代码: ``` View view1 = this.getLayoutInflater().inflate(R.layout.layout2,null); mListView = (ListView) view1.findViewById(R.id.ListBonded); mListView = (ListView)findViewById(R.id.ListBonded); mAdapter = new DeviceAdapter(mDeviceList,this); mListView.setAdapter(mAdapter); ``` MainActivity中显示已绑定设备函数: ``` //查看已绑定设备 public void ShowBondDevice(View view){ showToast("刷新界面"); mBondedDeviceList = mController.getBondedDeviceList(); mAdapter.refresh(mBondedDeviceList); mListView.setOnItemClickListener(bondedDeviceClick); } ``` BluetoothController.java: ``` package com.example.ble5; import android.app.Activity; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.content.Intent; import java.util.ArrayList; import java.util.List; public class BluetoothController { private BluetoothAdapter mAdapter; public BluetoothController(){ mAdapter = BluetoothAdapter.getDefaultAdapter(); } //判断当前设备是否支持蓝牙 public boolean isSupportBlueTooth(){ if (mAdapter != null){ return true; }else { return false; } } public BluetoothAdapter getAdapter(){ return mAdapter; } //判断当前蓝牙状态 public boolean getBluetoothStatus(){ assert (mAdapter != null); return mAdapter.isEnabled(); } //打开蓝牙 public void turnOnBluetooth(Activity activity, int requestCode){ Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); activity.startActivityForResult(intent,requestCode); } //关闭蓝牙 public void turnOffBluetooth(){ mAdapter.disable(); } //搜索设备 public void findDevice(){ assert (mAdapter != null); mAdapter.startDiscovery(); } //查看绑定设备 public List<BluetoothDevice> getBondedDeviceList(){ return new ArrayList<>(mAdapter.getBondedDevices()); } //打开可见 public void enableVisibly(Activity activity,int requestCode){ Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,300); activity.startActivity(discoverableIntent); } } ``` DeviceAdapter.java: ``` package com.example.ble5; import android.bluetooth.BluetoothDevice; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import java.util.List; public class DeviceAdapter extends BaseAdapter { private List<BluetoothDevice> mData; private Context mContext; public DeviceAdapter(List<BluetoothDevice> data, Context context){ mData = data; mContext = context.getApplicationContext(); } @Override public int getCount() { return mData.size(); } @Override public Object getItem(int i) { return mData.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { View itemView = view; if (itemView == null){ itemView = LayoutInflater.from(mContext).inflate(android.R.layout.simple_list_item_2,viewGroup,false); } TextView line1 = (TextView)itemView.findViewById(android.R.id.text1); TextView line2 = (TextView)itemView.findViewById(android.R.id.text2); //获取对应蓝牙设备 BluetoothDevice device = (BluetoothDevice) getItem(i); //显示名称 line1.setText(device.getName()); //显示地址 line2.setText(device.getAddress()); return itemView; } public void refresh(List<BluetoothDevice> data){ mData = data; notifyDataSetChanged(); } } ```

Android TabpagerIndicator上的Viewpager+Fragment数据混乱

![图片说明](https://img-ask.csdn.net/upload/201604/12/1460444118_69780.png) 这是我的界面,使用的是TabpagerIndicator+ViewPager+Fragment,Tab的个数是根据服务器返回的一个列表数据设置的,但是Fragment里面的界面是一样的,所以使用的是一个Fragment,但是出现了数据上的一个问题,每次数据都是显示的是上次访问服务器的数据。例如:Tab0显示的就是第一次的数据是没有错的,但是切换或者滑动到Tab1的时候还是显示的是Tab0的数据,如果此时点击Tab10就会显示的是Tab1的数据。 没有金币所有这里没有悬赏,不好意思,求大神回答。。急,谢了。项目进行不下去了。

Android ViewPager内的fragment数据如何更新?

ViewPager有三页,每一页有一个fragment,fragment内的数据是从内部存储读取的,点击刷新后我需要fragment内的数据更新,然后ViewPager肯定也需要刷新。但是fragment里listview的adapter是活动创建时创建的,而后面点击刷新后执行adapter.notifyDataSetChanged();数据好像不能更新,该怎么解决啊!

ViewPager+Fragment+ListView启动后第一个页面是空白,怎么改进解决?

ViewPager+Fragment(4个)+ListView启动后第一个页面是空白。 首先说明的是当listview里面的adapter不用callback的方法获取json的时候,一切都是正常的。 当4个fragment中只有一个listview的时候,用callback方法也是正常的,但是两个fragement中都有listview的时候,比如fragment1 & fragment2中各有一个listview,然后每个都callback就不行了,但是滑动一下,有时就可以了。 先说目录结构:MainActivity ,fragmentone,fragmentone2... 上代码: package com.example.viewpagerdemo; import java.util.ArrayList; import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.widget.Button; import android.widget.Toast; import com.example.viewpagerdemo.myadapter.MyFragmentPagerAdapter; public class MainActivity extends FragmentActivity implements OnClickListener, OnPageChangeListener { private ViewPager mViewPager; private Button bt_list1, bt_list2, bt_list3, bt_list4; private ArrayList<Fragment> list = null; private Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.mainwin); mContext=MainActivity.this; initView(); initEvent(); } private void initView() { mViewPager = (ViewPager) findViewById(R.id.vpager); bt_list1 = (Button) findViewById(R.id.button1); bt_list2 = (Button) findViewById(R.id.button2); bt_list3 = (Button) findViewById(R.id.button3); bt_list4 = (Button) findViewById(R.id.button4); fragmentone fg1 = new fragmentone(); fragmenttwo fg2 = new fragmenttwo(); fragmentthree fg3 = new fragmentthree(); fragmentfour fg4 = new fragmentfour(); list = new ArrayList<Fragment>(); list.add(fg1); list.add(fg2); list.add(fg3); list.add(fg4); mViewPager.setAdapter(new MyFragmentPagerAdapter( getSupportFragmentManager(), list)); } private void initEvent() { mViewPager.setCurrentItem(0); bt_list1.setOnClickListener(this); bt_list2.setOnClickListener(this); bt_list3.setOnClickListener(this); bt_list4.setOnClickListener(this); mViewPager.setOnPageChangeListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.button1: mViewPager.setCurrentItem(0); Toast.makeText(mContext, "当前选择:1",Toast.LENGTH_SHORT).show(); break; case R.id.button2: mViewPager.setCurrentItem(1); Toast.makeText(mContext, "当前选择:2",Toast.LENGTH_SHORT).show(); break; case R.id.button3: mViewPager.setCurrentItem(2); Toast.makeText(mContext, "当前选择:3",Toast.LENGTH_SHORT).show(); break; case R.id.button4: mViewPager.setCurrentItem(3); Toast.makeText(mContext, "当前选择:4",Toast.LENGTH_SHORT).show(); break; } } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); } @Override protected void onResume() { // TODO Auto-generated method stub mViewPager.setCurrentItem(1); mViewPager.setCurrentItem(0); super.onResume(); } @Override public void onPageScrollStateChanged(int state) { // TODO Auto-generated method stub if (state==2) { Toast.makeText(mContext, "当前选择:"+(mViewPager.getCurrentItem()+1),Toast.LENGTH_SHORT).show(); } } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageSelected(int arg0) { // TODO Auto-generated method stub //Toast.makeText(mContext, "当前选择:"+mViewPager.getCurrentItem(),Toast.LENGTH_SHORT); } } fragmentone: package com.example.viewpagerdemo; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import android.widget.Toast; import com.example.viewpagerdemo.myCallBack.HttpUtil; import com.example.viewpagerdemo.myCallBack.ResultCallback; import com.example.viewpagerdemo.myadapter.ListAdapterOne; import com.example.viewpagerdemo.mybean.BaseBean; import com.example.viewpagerdemo.mybean.BeanOneArrayList; import com.example.viewpagerdemo.mybean.ListBeanOne; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; /** * fragment 1 * * @author dy * */ public class fragmentone extends Fragment { private Context mContext; private View viewOne; private ListView mListViewOne; private List<ListBeanOne> allDataOne; private ListAdapterOne oneAdapter; private ResultCallback callback = new ResultCallback() { @Override public void getReslt(String result) { // TODO Auto-generated method stub BaseBean b = HttpUtil.getData(mContext, result, "", ""); if (b.getResponsecode() == 1) { Type type = new TypeToken<BeanOneArrayList>() { }.getType(); Gson gson = new Gson(); BeanOneArrayList json = gson.fromJson(result, type); allDataOne = json.getData(); if (allDataOne.size() > 0) { oneAdapter = new ListAdapterOne(mContext, allDataOne); mListViewOne.setAdapter(oneAdapter); /* * Message message = new Message(); message.what=1; * mHandler.sendMessage(message); */ } else { Log.i("tag", "No Data"); } } } }; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (viewOne != null) { ViewGroup parentViewGroup = (ViewGroup) viewOne.getParent(); if (parentViewGroup != null) { parentViewGroup.removeAllViewsInLayout(); } } else { viewOne = inflater.inflate(R.layout.fg1, container, false); } initView(); initEvent(); return viewOne; } private void initView() { mContext = this.getActivity(); mListViewOne = (ListView) viewOne.findViewById(R.id.listView1); } private void initEvent() { String JsonURL = AppConst.ListURL1; List<NameValuePair> p = new ArrayList<NameValuePair>(); p.add(new BasicNameValuePair("action", "1")); HttpUtil.doPost(JsonURL, p, callback); } } fragmenttwo: package com.example.viewpagerdemo; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import com.example.viewpagerdemo.myCallBack.HttpUtil; import com.example.viewpagerdemo.myCallBack.ResultCallback; import com.example.viewpagerdemo.myadapter.ListAdapterOne; import com.example.viewpagerdemo.myadapter.ListAdapterTwo; import com.example.viewpagerdemo.mybean.BaseBean; import com.example.viewpagerdemo.mybean.BeanTwoArrayList; import com.example.viewpagerdemo.mybean.ListBeanTwo; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; /** * fragment 2 * * @author dy * */ public class fragmenttwo extends Fragment { private Context mContext; private View viewTwo; private ListView mListViewTwo; private List<ListBeanTwo> allDataTwo; private ListAdapterTwo twoAdapter; private ResultCallback callback = new ResultCallback() { @Override public void getReslt(String result) { // TODO Auto-generated method stub BaseBean b = HttpUtil.getData(mContext, result, "", ""); if (b.getResponsecode() == 1) { Type type = new TypeToken<BeanTwoArrayList>() { }.getType(); Gson gson = new Gson(); BeanTwoArrayList json = gson.fromJson(result, type); allDataTwo = json.getData(); if (allDataTwo.size() > 0) { twoAdapter = new ListAdapterTwo(mContext, allDataTwo); mListViewTwo.setAdapter(twoAdapter); /* * Message message = new Message(); message.what=1; * mHandler.sendMessage(message); */ } else { Log.i("tag", "No Data"); } } } }; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (viewTwo != null) { ViewGroup parentViewGroup = (ViewGroup) viewTwo.getParent(); if (parentViewGroup != null) { parentViewGroup.removeAllViewsInLayout(); } } else { viewTwo = inflater.inflate(R.layout.fg2, container, false); } initView(); initEvent(); return viewTwo; } private void initView() { mContext = this.getActivity(); mListViewTwo = (ListView) viewTwo.findViewById(R.id.listView2); } private void initEvent() { String JsonURL = AppConst.ListURL1; List<NameValuePair> p = new ArrayList<NameValuePair>(); p.add(new BasicNameValuePair("action", "2")); HttpUtil.doPost(JsonURL, p, callback); } } MyFragmentPagerAdapter: package com.example.viewpagerdemo.myadapter; import java.util.ArrayList; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; public class MyFragmentPagerAdapter extends FragmentPagerAdapter { private ArrayList<Fragment> list; public MyFragmentPagerAdapter(FragmentManager fm) { super(fm); } public MyFragmentPagerAdapter(FragmentManager fm, ArrayList<Fragment> list) { super(fm); this.list = list; } @Override public Fragment getItem(int arg0) { // TODO Auto-generated method stub return list.get(arg0); } @Override public int getCount() { // TODO Auto-generated method stub return list.size(); } } ``` ``` 其他的代码都是类似的,就不发了。 ``` ```

SwipeRefreshLayout中嵌套ListView数据不主动显示

我在SwipeRefreshLayout中嵌套了ListView,在启动应用的时候,通过网络加载数据到ListView显示,出现了问题。每次运行APP进入主界面的时候,数据可以加载成功,但是ListView显示时必须要点击一下手机屏幕,才会把数据显示出来,请问这是什么原因造成的?

Android Studio中listview与viewpager之间的问题

如何在viewpager中添加listview同时listview的数据是通过网络接口API获取的

在viewpager和fragment中嵌套listview,出现setAdapter空指针情况。

在viewpager和fragment中嵌套listview,出现setAdapter空指针情况。 为了实现滑动切换界面,我写了三个fragment,在一个fragment中加入了一个listview,怎么启动都是空指针。 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference at com.example.tabhost_02.Fragment_Device.onActivityCreated(Fragment_Device.java:33) at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2619) at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:904) at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238) at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303) at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:439) at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079) at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869) at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824) at androidx.fragment.app.FragmentManagerImpl.execSingleAction(FragmentManagerImpl.java:1696) at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:299) at androidx.fragment.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:235) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1244) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092) at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1622) at android.view.View.measure(View.java:22002) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514) at android.widget.LinearLayout.measureVertical(LinearLayout.java:806) at android.widget.LinearLayout.onMeasure(LinearLayout.java:685) at android.view.View.measure(View.java:22002) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461) at android.view.View.measure(View.java:22002) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143) at android.view.View.measure(View.java:22002) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) at androidx.appcompat.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:403) at android.view.View.measure(View.java:22002) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at android.view.View.measure(View.java:22002) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514) at android.widget.LinearLayout.measureVertical(LinearLayout.java:806) at android.widget.LinearLayout.onMeasure(LinearLayout.java:685) at android.view.View.measure(View.java:22002) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6580) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at com.android.internal.policy.DecorView.onMeasure(DecorView.java:721) at android.view.View.measure(View.java:22002) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2410) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1498) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1751) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1386) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6733) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911) at android.view.Choreographer.doCallbacks(Choreographer.java:723) at android.view.Choreographer.doFrame(Choreographer.java:658) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textView5" android:layout_width="358dp" android:layout_height="wrap_content" android:text="状态详情" android:textColor="#000000" android:textSize="20sp" android:textStyle="bold" /> <TextView android:id="@+id/textView2" android:layout_width="match_parent" android:layout_height="176dp" android:text="TextView" /> <TextView android:id="@+id/textView3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="部件信息" android:textColor="#000000" android:textSize="20sp" android:textStyle="bold" /> <TextView android:id="@+id/textView6" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="温度传感器" android:textColor="#2196F3" android:textSize="18sp" android:textStyle="bold" /> <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> public class Fragment_Device extends Fragment { private List<Info> infos = new ArrayList<>(); private ListView device_info=null; public Fragment_Device(){ } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_device, container, false); initInfo(); return view; } public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); initInfo(); } private void initInfo() { Info dev_1 = new Info("室内环境监控", "20摄氏度", "100小时", "2019-05-01 09:00:00"); infos.add(dev_1); Info dev_2 = new Info("室内环境监控", "25摄氏度", "100小时", "2019-05-01 09:08:00"); infos.add(dev_2); Info dev_3 = new Info("室内环境监控", "23摄氏度", "100小时", "2019-05-01 10:00:00"); infos.add(dev_3); Info dev_4 = new Info("室内环境监控", "28摄氏度", "100小时", "2019-05-01 10:30:00"); infos.add(dev_4); InfoAdapter infoAdapter = new InfoAdapter(infos,getContext()); View view = LayoutInflater.from(getContext()).inflate(R.layout.list_item,null); infos=view.findViewById(R.id.lv); device_info = view.findViewById(R.id.lv); device_info.setAdapter(infoAdapter); } }

android 创建同一个布局的多个fragment,加载listview数据不显示或者错乱

如题,我现在就是想做一个仿淘宝的淘抢购那样的功能,我用的是fragment, 因为不确定有多少个页面,所以我根据时间段来创建fragment, fragment里面只有一个listview 布局,首次进去的时候有数据却不显示,而且还加载了上一个页面和一下个页面, 滑动的时候,有时候不显示数据或者数据错乱了。 点击时间段来选中相应的fragment,数据又不显示出来。 这个应该怎么解决啊?

android Listview(第一项未滑出屏幕)自动回到顶部

一个诡异的现象: viewpager里面放三个Fragment,每个Fragment里面是个listview,如下三张图 ![图片说明](https://img-ask.csdn.net/upload/201709/22/1506064425_798150.jpg) ![图片说明](https://img-ask.csdn.net/upload/201709/22/1506064604_263028.jpg) ![图片说明](https://img-ask.csdn.net/upload/201709/22/1506064645_654924.jpg) 下面开始操作,第一个Fragment里,listview上滑一点(**第一个item不滑出屏幕**)如下图 ![图片说明](https://img-ask.csdn.net/upload/201709/22/1506064835_340669.jpg) 这时候切换到第三个Fragment后,再返回至第一个,这时候的第一个Fragment 变成了在最顶部的位置,如下图 ![图片说明](https://img-ask.csdn.net/upload/201709/22/1506064425_798150.jpg) **诡异现象来了**, 操作 第一个Fragment里,listview上滑至**第一个item滑出屏幕**,如下图 ![图片说明](https://img-ask.csdn.net/upload/201709/22/1506065043_657575.jpg) 再做上面的切换步骤后,返回第一个Fragment **保持的位置是不变的**; viewPager使用的是FragmentStatePagerAdapter,如果会有销毁视图的情况发生,那为什么 listview上滑至**第一个item滑出屏幕** 后位置是不变的, 代码就不贴了,都是基础的listview.setAdapter() ,listview每一项里就放了个textView, 不知道有什么办法可以一直保持着listview的位置

swiperefresh 嵌套头布局为viewpager的listview时候的问题

在我用swiperefresh嵌套头布局为viewpager的listview时候,刷新的逻辑是清空listview填充布局的集合,viewpager的集合,然后重新请求数据请求完以后布局就乱套了,我重写了listview的onscrolllistener中的 @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { boolean enable = false; if(listView != null && listView.getChildCount() > 0){ // check if the first item of the list is visible boolean firstItemVisible = listView.getFirstVisiblePosition() == 0; // check if the top of the first item is visible boolean topOfFirstItemVisible = listView.getChildAt(0).getTop() == 0; // enabling or disabling the refresh layout enable = firstItemVisible && topOfFirstItemVisible; } swipe.setEnabled(enable); }; 重写了这个为了解决listview和swiperefreshlayout的冲突。我也重写了swiperefresh'layout的 @Override public boolean canChildScrollUp() { if (view != null && view instanceof AbsListView) { final AbsListView absListView = (AbsListView) view; return absListView.getChildCount() > 0 && (absListView.getFirstVisiblePosition() > 0 || absListView.getChildAt(0) .getTop() < absListView.getPaddingTop()); } return super.canChildScrollUp(); } 可是刷新完换是有问题 布局上面的viewpager乱套了 viewpager不在顶部啊

Android自定义控件在ListView中不显示

在Android中定义了一个MyTextView extends View,在Activity中使用的时候,高度设置为wrapcontent可以正常显示,但是在Listview中高度设置为wrapcontent就会变成0,显示不出来我的View,需要固定高度为100dip等,这中问题可以解决吗.

android Fragment中嵌入ListView ,更新数据后,getview()没被调用

我是在vieapage里面嵌套listview的。viewpager是用fragment写的。listview是简单Adapter写的

viewpager内notifydatasetchanged 不刷新

调用部分: mNewsViewPager = (ViewPager)mTopView.findViewById(R.id.adViewPager); if (!mItems.isEmpty()) { mElements.clear(); for(int i=0;i<3;i++) { view=mInflater.inflate(R.layout.vp_content,null); textView=(TextView)view.findViewById(R.id.top_title); textView.setText("something"); mElements.add(view); } mPageAdaper.notifyDataSetChanged(); } else { for(int i=0;i<3;i++) { view=mInflater.inflate(R.layout.vp_content,null); mElements.add(view); } } mNewsViewPager.setAdapter(mPageAdaper); mNewsViewPager.setCurrentItem(0); OnPageChangeListener pageChangeListener =new OnPageChangeListener() { @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } }; mNewsViewPager.setOnPageChangeListener(pageChangeListener); mItems填充数据后显示的仍然是原界面文字没有改变; PagerAdapter源代码,网上的更改getItemCount()函数我试过了没用 public class mPagerAdapter extends PagerAdapter { @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public int getItemPosition(Object object) { return POSITION_NONE; } @Override public int getCount() { return mElements.size(); } @Override public Parcelable saveState() { return null; } @Override public void restoreState(Parcelable arg0, ClassLoader arg1) { } @Override public void startUpdate(View arg0) { } @Override public void finishUpdate(View arg0) { } @Override public void destroyItem(View container, int position, Object object) { ((ViewPager) container).removeView(mElements.get(position)); } @Override public Object instantiateItem(View container, int position) { ((ViewPager) container).addView(mElements.get(position)); return mElements.get(position); } };

Android 删除ViewPager中ListView的某一Item滚动报错

问题如题,错误日记如下 ![图片说明](https://img-ask.csdn.net/upload/201710/13/1507863239_335081.png)

ViewPager多个View中动态添加ListView切换问题?求兄弟姐妹们帮忙解决,困扰已久!

是这样的,最近做个答题的APP,在答题切换的时候采用的ViewPager滑动切换方式,由于题数不定,所以ViewPager中是List<View>,每个View中再动态添加的题目和ListView选择题,ListView中嵌套了RaddioButton或Checkbox,每次选择了答案我就将选择存入了数据库中,下次滑动的时候,直接读取数据库,然后动态生成的控件再来自动选择数据库中的答案,我ViewPager缓存的是2个,在选择了一个VIew中的答案后,滑动两个以上界面后,再滑回来,之前选择的ListView中的RaddioButton在0.5秒后会自动变为取消状态,但是退出程序,下次再进入的时候,从数据库取出的答案动态生成控件后,选择状态无论怎么滑,再划回来都是正常的,不知是何原因,求大神们解决啊,困扰已久了。

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

点沙成金:英特尔芯片制造全过程揭密

“亚马逊丛林里的蝴蝶扇动几下翅膀就可能引起两周后美国德州的一次飓风……” 这句人人皆知的话最初用来描述非线性系统中微小参数的变化所引起的系统极大变化。 而在更长的时间尺度内,我们所生活的这个世界就是这样一个异常复杂的非线性系统…… 水泥、穹顶、透视——关于时间与技艺的蝴蝶效应 公元前3000年,古埃及人将尼罗河中挖出的泥浆与纳特龙盐湖中的矿物盐混合,再掺入煅烧石灰石制成的石灰,由此得来了人...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

你打算用Java 8一辈子都不打算升级到Java 14,真香

我们程序员应该抱着尝鲜、猎奇的心态,否则就容易固步自封,技术停滞不前。

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

一文带你入门Java Stream流,太强了

两个星期以前,就有读者强烈要求我写一篇 Java Stream 流的文章,我说市面上不是已经有很多了吗,结果你猜他怎么说:“就想看你写的啊!”你看你看,多么苍白的喜欢啊。那就“勉为其难”写一篇吧,嘻嘻。 单从“Stream”这个单词上来看,它似乎和 java.io 包下的 InputStream 和 OutputStream 有些关系。实际上呢,没毛关系。Java 8 新增的 Stream 是为...

立即提问
相关内容推荐