Articles of arraylist

Android Parcelable数组长度不对

Parcelables并。 为什么他们不能更容易? 我试图编写一个应用程序发送ArrayList作为parcelable。 当我尝试在第二个Activity中获得Intent时,我会得到这个错误: 12-29 21:36:08.158: W/System.err(20117): java.lang.RuntimeException: bad array lengths 12-29 21:36:08.158: W/System.err(20117): at android.os.Parcel.readStringArray(Parcel.java:967) 12-29 21:36:08.158: W/System.err(20117): at net.sutomaji.sv.helperclasses.NewsItem.<init>(NewsItem.java:102) 12-29 21:36:08.158: W/System.err(20117): at net.sutomaji.sv.helperclasses.NewsItem$1.createFromParcel(NewsItem.java:129) 12-29 21:36:08.158: W/System.err(20117): at net.sutomaji.sv.helperclasses.NewsItem$1.createFromParcel(NewsItem.java:1) 12-29 21:36:08.158: W/System.err(20117): at android.os.Parcel.readParcelable(Parcel.java:2104) 12-29 21:36:08.158: W/System.err(20117): at android.os.Parcel.readValue(Parcel.java:2013) 12-29 21:36:08.158: W/System.err(20117): at android.os.Parcel.readListInternal(Parcel.java:2343) 12-29 21:36:08.158: W/System.err(20117): at android.os.Parcel.readArrayList(Parcel.java:1703) 12-29 21:36:08.158: W/System.err(20117): at […]

Android ArrayIndexOutOfBoundsException和AbsListViewRecycleBin.addScrapView

我有一个随机出现的ArrayIndexOutOfBoundsException 。 这似乎是发生在我的notifyDataSetChanged(); 由于错误是如此随机,因此难以精确定位发生的位置。 有没有人有自定义Adaptor类似的问题? FATAL EXCEPTION: main java.lang.ArrayIndexOutOfBoundsException: length=12; index=12 at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:8041) at android.widget.ListView.layoutChildren(ListView.java:1604) at android.widget.AbsListView.onLayout(AbsListView.java:2444) at android.view.View.layout(View.java:15221) at android.view.ViewGroup.layout(ViewGroup.java:4793) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531) at android.widget.LinearLayout.onLayout(LinearLayout.java:1440) at android.view.View.layout(View.java:15221) at android.view.ViewGroup.layout(ViewGroup.java:4793) at android.widget.FrameLayout.onLayout(FrameLayout.java:448) at android.view.View.layout(View.java:15221) at android.view.ViewGroup.layout(ViewGroup.java:4793) at android.widget.FrameLayout.onLayout(FrameLayout.java:448) at android.view.View.layout(View.java:15221) at android.view.ViewGroup.layout(ViewGroup.java:4793) at android.widget.FrameLayout.onLayout(FrameLayout.java:448) at android.view.View.layout(View.java:15221) at android.view.ViewGroup.layout(ViewGroup.java:4793) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531) at android.widget.LinearLayout.onLayout(LinearLayout.java:1440) […]

使用android.support.v4.app.ListFragment时,滚动列表的背景颜色变成白色;

我正面临严重的问题。 我试图在滚动时间更改列表的背景颜色(透明),但无法做到这一点。 我试图改变是由ListView以及代码的XML。 但在两个条件列表背景变成白色 。 我正在使用android.support.v4.app.ListFragment; 和FragmentPagerAdapter。 我想改变列表滚动时间的颜色变化。 为此我使用下面的代码。 public static class ArrayListFragment extends ListFragment { int mNum; /** * Create a new instance of CountingFragment, providing "num" * as an argument. */ static ArrayListFragment newInstance(int num) { ArrayListFragment f = new ArrayListFragment(); // Supply num input as an argument. Bundle args = new Bundle(); […]

如何获取存储在ArrayList中的值<HashMap <key,value >>?

我有ArrayList>。 在另一个活动中,我想访问存储在ArrayList>中的所有值。 我曾尝试以下代码: ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); for(Hashmap<String, String> map: mylist) { for(Entry<String, String> mapEntry: map) { String key = mapEntry.getKey(); String value = mapEntry.getValue(); } } 但是它在for(Entry<String, String> mapEntry: map)上显示错误,它只在Array上进行交互。

如何迭代Arraylist <HashMap <String,String >>?

我有一个像这样的ArrayList对象: ArrayList<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>(); 如何遍历列表? 我想显示在来自ArrayList对象的数据的TextView中的值。

无法parsing构造函数ArrayAdapter

嗨,伙计们我得到一个无法parsing构造函数ArrayAdapter在我的OnCreateView方法listAdapter我想列出文本数据在我的选项卡,这里是我的主要活动。 任何帮助将不胜感激我还是一个在Java的noobie。 public class MainActivity extends ActionBarActivity { private Toolbar toolbar; private ViewPager mPager; private SlidingTabLayout mTabs; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); toolbar = (Toolbar) findViewById(R.id.app_bar); setSupportActionBar(toolbar); mPager= (ViewPager) findViewById(R.id.viewPager); mTabs=(SlidingTabLayout) findViewById(R.id.tabs); mPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager())); mTabs.setDistributeEvenly(true); mTabs.setBackgroundColor(getResources().getColor(R.color.colorPrimary)); mTabs.setSelectedIndicatorColors(getResources().getColor(R.color.colorAccent)); mTabs.setViewPager(mPager); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items […]

Java的紧凑替代方法ArrayList <String>

我需要存储一个大的自然语言词典 – 高达12万,取决于语言。 这些需要保存在内存中,因为分析表明使用arrays的algorithm是系统中的时间瓶颈。 (这本质上是一个拼写检查/自动更正algorithm,虽然细节并不重要。)在具有16MB内存的Android设备上,与Java String相关的内存开销正在导致我们的空间不足。 请注意,每个String都有一个38字节的开销与它相关联,这会产生高达5MB的开销。 乍一看,一种select是用char[]replaceString 。 (甚至是byte[] ,因为在这种情况下UTF-8更紧凑)。但是,内存开销也是一个问题: 每个Java数组都有32字节开销 。 ArrayList<String>等的一个替代方法是创build一个具有相同接口的类,以便在内部将所有string连接成一个巨大的string,例如表示为单个byte[] ,然后将偏移量存储到该巨大的string中。 每个偏移将占用4个字节,从而提供了更多的节省空间的解决scheme。 我的问题是a)有没有其他的解决scheme,以类似的低开销*和b)的问题是任何现成的解决scheme? 通过番石榴 , trove和PCJ收集图书馆search没有收益。 *我知道可以将开销降到4字节以下,但收益递减。 NB。 支持压缩string在HotSpot JVM中被丢弃? build议JVM选项-XX:+UseCompressedStrings在这里-XX:+UseCompressedStrings 。

重新填充ArrayList后的IndexOutOfBoundsException(仅限棉花糖)

我的设置如下:在我的onCreate我初始化ArrayList如下: textList = new ArrayList<HashMap<String, String>>(); // unrelated code … if (isConnected()) { new DisplayTextTask().execute(sectionId); } AsyncTask通过HttpURLConnection()获取文本,使用JsonReaderparsingJSON,并将每行文本添加到textList中(所有这些都发生在AsyncTask的doInBackground我有一个自定义的Adapter,它显示textList的string。 我还有一个函数gotoNextSection() ,当用户想要导航到下一个页面时,触发这个函数,在那里我执行如下操作: gotoNextSection() { if (isConnected()) { new DisplayTextTask().execute(sectionId+1); } } 不过,由于我不希望前一页的陈旧文本留在屏幕上,我在AsyncTask中执行以下操作: private class DisplayTextTask extends AsyncTask<String, Void, String> { @Override protected void onPreExecute() { super.onPreExecute(); textList.clear(); } @Override protected String doInBackground(String… urls) { // json parsing is […]

Androidarrays适配器select错误的ID

我正在构build一个应用程序,允许用户无需离开就可以连接到本地wifinetworking。 但是,每当我在列表中select一个项目时,出现错误的networkingID,并连接到错误的networking。 我注意到: 如果我有三个可用的networking,并select最上面的一个,则最下面的一个连接到。 反过来也是如此 当我select中间一个实际上工作。 这里是我的代码如下: //from `onCreate` method Button buttonScan = (Button) findViewById(R.id.buttonScan); WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); ListView lv = (ListView) findViewById(R.id.list); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { connectToWifi(arg2); } }); lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, […]

理智的方式从ArrayList <Long>通过一个意图

我目前正在编写一个应用程序,从服务器通过JSON拉长数组,然后将该列表从一个活动传递到另一个。 基本框架如下所示: public void onResponse(Map result) { ArrayList handles= (ArrayList)result.get("fileHandles"); Intent intent = new Intent(FirstActivity.this, SecondActivity.class); intent.putExtra("handles", handles); } 所以第一个问题变得明显,putExtra的唯一方法是putIntegerArrayListExtra , putCharSequenceArrayListExtra , putParcelableArrayListExtra和putParcelableArrayListExtra 。 思考长期可能parcelable,我错了它不起作用(即使我使用ArrayList<Long> )。 接下来,我想我只是通过一个很长的[],但是我看不到直接转换从ArrayList<Long>到intent.putExtra将接受的long []。 这是我终于结束的解决scheme: ArrayList handles= (ArrayList)result.get("fileHandles"); long [] handleArray = new long[handles.size()]; for (int i = 0; i < handles.size(); i++) { handleArray[i] = Long.parseLong(handles.get(i).toString()); } 显然这对我来说似乎有些荒谬,但是我所尝试过的每一次转换似乎都是因为某种原因而抱怨的。 我已经想过重新思考我的序列化问题,在我到达这个地步之前,我觉得奇怪的是,从活动传递ArrayList<Long>可能非常困难。 […]