我在StackOverflow和其他地方看到了类似于此的各种问题,但这些解决方案似乎都没有解决我的问题,如下所示:
我有一个带有简单PagerAdapter的ViewPager.每个"页面"都有一个与之关联的XML布局,其中包含至少一个TextView,一个ImageView,有时还包含另一个TextView.与ImageView相关联的图像在一维中通常为1000px而在另一维中较少,但它们是8位索引的Gif,因此它们都不比20kB大得多.我将它们设置为Drawables,然后适当缩小以适应分配给它们的空间.
只有6页.当我启动活动时,它工作正常,我甚至可以翻到最后一页,但如果我一直向右翻转然后一直向左翻转,我得到一个OutOfMemoryError.这对我来说没有意义,因为我认为ViewPager应该在超过1个屏幕之外销毁页面,并且我正在处理destroyItem(),如其他地方所建议的那样.
以下是PagerAdapter的代码:
package doop.doop.dedoop;
import doop.doop.dedoop.R.layout;
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
public class HelpPagerAdapter extends PagerAdapter{
private Context applicationContext;
private Context activityContext;
public HelpPagerAdapter(Context appContext, Context activContext){
applicationContext = appContext;
activityContext = activContext;
}
public int getCount() {
return 6;
}
public Object instantiateItem(ViewGroup collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
int ivId = 0;
int drawId = 0;
switch (position) { …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个Emacs主要模式来处理生物序列数据(即DNA和多肽),我想实现语法高亮,其中不同的字母颜色不同.由于该模式需要能够区分DNA序列和氨基酸序列并对它们进行不同的着色,我将文件中的每个序列放在一行中,并带有单字符前缀(+或#),表示后续行如何应该突出显示.
因此,例如,如果文件包含一行读取:
+AAGATCCCAGATT
Run Code Online (Sandbox Code Playgroud)
"A"应该都是一种颜色,与行的其他部分不同.
我尝试了以下测试:
(setq dna-keyword
'(("^\+\\([GCT\-]*\\(A\\)\\)*" (2 font-lock-function-name-face))
)
)
(define-derived-mode bioseq-mode fundamental-mode
(setq font-lock-defaults '(dna-keyword))
(setq mode-name "bioseq mode")
)
Run Code Online (Sandbox Code Playgroud)
但这只匹配最后一个A而不是所有它们.
我的第一个想法是尝试将整行与一个正则表达式匹配,然后使用另一个正则表达式来匹配该行中的A,但我不知道这是否可能在font-lock-mode的上下文中或者它将如何实现.关于如何做这样的事情,或者如何以不同的方式实现这一目标的任何想法?