我的想法是创建一个表格,我可以在不同的活动中存储我的玩家得分。
我想创建一个包含EditText的GridView,这样我就可以动态地更改值。在网上寻找我发现了一些我修改过的源代码。我得到了我的目的(在里面创建一个带有EditText的GridView)但是现在我无法检索存储在EditTexts中的数据(在这种情况下为数字)。
你知道我怎么能这样做?
提前致谢,
这是我的适配器:
import android.app.Activity;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import
android.widget.EditText;
public class AdaptadorResultados extends ArrayAdapter<String> {
Activity context;
AdaptadorResultados(Activity context,String[] datos) {
super(context, R.layout.resultados, datos);
this.context = context;
}
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View item = inflater.inflate(R.layout.resultados, null);
final EditText txtCelda =(EditText)item.findViewById(R.id.txtCelda2);
txtCelda.setText(this.getItem(position).toString());
return(item);
}
这是xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/txtCelda2"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
></EditText>
</LinearLayout>
最后我改变了适配器的源代码。我在这里发布以防万一有同样的问题:
public class AdaptadorEditText extends BaseAdapter{
private Context myContext;
private String[]nombres;
private EditText[] myCells;
public AdaptadorEditText(Context c, String[] nombres, int num){
myContext=c;
this.nombres=nombres;
myCells=new EditText[nombres.length*num];
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return nombres.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return myCells[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
EditText cell;
if (myCells[position] == null)
{
cell = myCells[position] = new EditText(myContext);
cell.setText(nombres[position]);
}
else
{
cell = myCells[position];
}
return cell;
}