我的上一个问题已经关闭,所以我会提供更多信息以及我尝试过的内容。 我为EditText旁边的行号添加了一个Thin TextView。下面的代码是尝试在应用加载时为行创建数字。问题是a)数字没有显示出来。和b)如果滚动EditText,行号不会随之滚动。关于如何实现行号的任何想法?
private List<String> items = null;
private EditText ideText;
private TextView ln;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
ideText = (EditText) findViewById(R.id.ide);
ln = (TextView) findViewById(R.id.lineNumbers);
// Create Line Numbers
for(int i=0;i<ideText.getLineCount();i++){
ln.append(i +"\n");
}
}
编辑:
public class EditTextLineNumbers extends EditText{
private int lineNum;
public EditTextLineNumbers(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
lineNum = this.getLineCount();
for(int i = 0;i<lineNum;i++){
this.append(i+"\n");
}
}
}
Main.java
private List<String> items = null;
private EditTextLineNumbers ideText;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
ideText = (EditTextLineNumbers) findViewById(R.id.ide);
File dir = new File(Environment.getExternalStorageDirectory() + "/My Webs");
if(dir.isDirectory()) {
getFiles(dir.listFiles());
}else{
dir.mkdir();
}
}