Android ApiDemos示例解析(179):Views->Lists->12. Transcript

本例使用一個ListView 和一個TextView 實現瞭一個類似便箋簿功能,在TextView中輸入,然後在ListView中顯示,使用ArrayAdapter, 字符串存儲使用ArrayList.

[java] 
private ArrayAdapter<String> mAdapter; 
 
private ArrayList<String> mStrings = new ArrayList<String>(); 
 
… 
mAdapter = new ArrayAdapter<String>(this, 
 android.R.layout.simple_list_item_1, mStrings); 
setListAdapter(mAdapter); 

private ArrayAdapter<String> mAdapter;

private ArrayList<String> mStrings = new ArrayList<String>();


mAdapter = new ArrayAdapter<String>(this,
 android.R.layout.simple_list_item_1, mStrings);
setListAdapter(mAdapter);

為EditText 添加Click 和Key 事件處理,在點擊或是按“中鍵”時將輸入文字中ListView中添加一行:

 

[java] 
public void onClick(View v) { 
 sendText(); 
 } 
 
private void sendText() { 
 String text = mUserText.getText().toString(); 
 mAdapter.add(text); 
 mUserText.setText(null); 

 
public boolean onKey(View v, int keyCode, KeyEvent event) { 
 if (event.getAction() == KeyEvent.ACTION_DOWN) { 
 switch (keyCode) { 
 case KeyEvent.KEYCODE_DPAD_CENTER: 
 case KeyEvent.KEYCODE_ENTER: 
 sendText(); 
 return true; 
 } 
 } 
 return false; 

public void onClick(View v) {
 sendText();
 }

private void sendText() {
 String text = mUserText.getText().toString();
 mAdapter.add(text);
 mUserText.setText(null);
}

public boolean onKey(View v, int keyCode, KeyEvent event) {
 if (event.getAction() == KeyEvent.ACTION_DOWN) {
 switch (keyCode) {
 case KeyEvent.KEYCODE_DPAD_CENTER:
 case KeyEvent.KEYCODE_ENTER:
 sendText();
 return true;
 }
 }
 return false;
}

 

 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。