1

コードで膨らませたい単純な編集テキスト 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" 
        >
        <LinearLayout 
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:orientation="horizontal"
           android:layout_gravity="right" >
         <EditText
                    android:id="@+id/editText2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:ems="10"
                    android:imeOptions="normal"
                    android:inputType="text" >
                </EditText>
        </LinearLayout>

</LinearLayout>

// これは私の xml ファイルです

Javaファイルでは、ユーザーが入力した値に基づいて編集テキストを追加したくないので、以下に私のJavaプログラムパッケージcom.example.attendancecalculator;を示します。

    import com.example.attendancecalculator.R.id;

    import android.app.Activity;
    import android.content.SharedPreferences;
    import android.content.SharedPreferences.Editor;
    import android.os.Bundle;
    import android.preference.PreferenceManager;
    import android.text.Editable;
    import android.text.TextWatcher;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.LinearLayout;

    public class TablePageOne extends Activity implements OnClickListener {
        LayoutInflater li;
        Button b,c; 
        int i;
        EditText et1,et2;
        protected void onCreate(Bundle savedInstanceState, int j) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.tablepg1);
             et1 = (EditText)findViewById(R.id.editText1);
                li=this.getLayoutInflater();
                loadPrefs();
            b=(Button)findViewById(R.id.button12);
            b.setOnClickListener(this);
            for(int j1=0;j1<i;j1++)
            add(j1);

        }
            void add(int i)
            {
            LinearLayout ll=(LinearLayout)findViewById(R.id.edit);
            EditText et=(EditText)li.inflate(R.layout.edittext, null);
             et2= (EditText)et.findViewById(id.editText2);
                loadPrefs(et2,"sub"+String.valueOf(i));
            final int j=i;
            et1.addTextChangedListener(new TextWatcher() {

                @Override
                public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                        int arg3) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void afterTextChanged(Editable arg0) {
                    // TODO Auto-generated method stub
                    savePrefs("sub"+String.valueOf(j),arg0.toString());

                }
            });
            ll.addView(et);
            ll.requestLayout();
            }
            private void loadPrefs(){
                SharedPreferences sp=PreferenceManager.getDefaultSharedPreferences(this);
                int v=sp.getInt("i", 1);
                et1.setText(String.valueOf(v));

            }
             private void loadPrefs(EditText e,String key){
                    SharedPreferences sp=PreferenceManager.getDefaultSharedPreferences(this);
                   e.setText(sp.getString(key, ""));
                }
                private void savePrefs(String key,String value){
                    SharedPreferences sp=PreferenceManager.getDefaultSharedPreferences(this);

                    Editor edit=sp.edit();
                    edit.putString(key, value);
                    edit.commit();

                }
                private void savePrefs(String key,int value){
                    SharedPreferences sp=PreferenceManager.getDefaultSharedPreferences(this);

                    Editor edit=sp.edit();
                    edit.putInt(key, value);
                    edit.commit();  
                }
                    public void onClick(View v) {
                        String getvalue1=et1.getText().toString();
                        i=Integer.parseInt(getvalue1);
                        savePrefs("i",i);
                }
    }

/* これは私の Java プログラムです。 が膨張しない理由がわかりません。私を助けてください。*/

4

0 に答える 0