保存GridView中显示的所有EditText文本

时间:2014-03-08 12:03:23

标签: android gridview android-edittext

我的想法是创建一个表格,我可以在不同的活动中存储我的玩家得分。

我想创建一个包含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;
     }

0 个答案:

没有答案