我在ListActivity
中遇到EditText
字段存在問題。列表中的EditText未按照應有的方式工作
該代碼符合所有權利,但功能很奇怪,在第一個字段中輸入並隱藏鍵盤後,文本出現在另一個編輯字段中。
幫助我與我的邏輯問題
package com.example.helloandroid;
import android.app.ListActivity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.EditText;
import android.widget.TextView;
public class AddComp extends ListActivity {
static final int DATE_DIALOG_ID = 0;
private class EfficientAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private String[] attitude_names;
private String[] attitude_values;
public EfficientAdapter(Context context) {
mInflater = LayoutInflater.from(context);
attitude_names = context.getResources().getStringArray(R.array.COMP_ATTITUDE_NAME);
attitude_values = new String[attitude_names.length];
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.addcomp_attitude_row, null);
holder = new ViewHolder();
holder.Attitude_Name = (TextView) convertView.findViewById(R.id.addcomp_att_name);
holder.Attitude_Value = (EditText) convertView.findViewById(R.id.addcomp_att_value);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.Attitude_Name.setText(attitude_names[position]);
holder.Attitude_Value.setHint(attitude_names[position]);
attitude_values[position] = holder.Attitude_Value.getText().toString();
return convertView;
}
class ViewHolder {
TextView Attitude_Name;
EditText Attitude_Value;
}
@Override
public int getCount() {
return attitude_names.length;
}
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new EfficientAdapter(this));
setContentView(R.layout.addcomp);
}
}
問題標題很有趣:)軟件做我們要做的事情,而不是我們希望它做的事情:) – khachik 2010-12-05 10:41:58