2011-01-13 6 views
0

私はすべてのlistitemのレイアウトが異なるリストビューを持っています。私の最初のlistitemにはedittextが含まれています。これをクリックすると、キーボードが表示されます。しかし、このキーボードはリストビュー内のすべてのリストアイテムを置き換えます。その編集テキストをクリックするたびに、アイテムの位置が変わります。私は本当にこれについて混乱しています。リストビューのediitext用キーボードandroidの他のlistitemを動かす

この私のコード:

public View getView(int position, View convertView, ViewGroup parent) { 

     ViewHolder holder; 
     if (convertView == null) { 
      if(position == 0) 
      { 
       convertView = mInflater.inflate(R.layout.remindertitle, null); 
       edttxtForTitle = (EditText) convertView.findViewById(R.id.edittext); 
       convertView.setMinimumHeight(60); 
      } 

      else if(position == 1) 
      { 
       convertView = mInflater.inflate(R.layout.reminderfrom, null);  
       TextView txtTitle = (TextView) convertView.findViewById(R.id.txtvwFrom); 
       txtTitle.setText("From"); 
       mPickDate = (Button) convertView.findViewById(R.id.btnDate); 
       mPickDate.setText(
          new StringBuilder() 
            // Month is 0 based so add 1 
            .append(mDays[mDay].substring(0, 3)).append(", ") 
            .append(mDay).append(" ") 
            .append(mMonths[mMonth]).append(" ") 
            .append(mYear).append(" ")); 
       mPickDate.setOnClickListener(new View.OnClickListener() { 
         public void onClick(View v) { 
          settingValueForFromOrTo = true; 
          showDialog(DATE_DIALOG_ID); 
         } 
        }); 

       strDateFrom = new StringBuilder() 
       // Month is 0 based so add 1 
       .append(mDays[mDay].substring(0, 3)).append(", ") 
       .append(mDay).append(" ") 
       .append(mMonths[mMonth]).append(" ") 
       .append(mYear).append(" "); 

       mPickTime = (Button) convertView.findViewById(R.id.btnTime); 
       mPickTime.setText(
         new StringBuilder() 
          .append(pad(mHour)).append(":") 
          .append(pad(mMinute))); 
       mPickTime.setOnClickListener(new View.OnClickListener() { 
         public void onClick(View v) { 
          settingValueForFromOrTo = true; 
          showDialog(TIME_DIALOG_ID); 
         } 
        }); 
       strTimeFrom = new StringBuilder() 
       .append(pad(mHour)).append(":") 
       .append(pad(mMinute)); 
      } 

      else if(position == 2) 
      { 
       convertView = mInflater.inflate(R.layout.reminderto, null);  
       TextView txtTitle = (TextView) convertView.findViewById(R.id.txtvwTo); 
       txtTitle.setText("To"); 
       mPickDateForFinalDate = (Button) convertView.findViewById(R.id.btnDatefinal); 
       mPickDateForFinalDate.setText(
          new StringBuilder() 
            // Month is 0 based so add 1 
            .append(mDays[mfinalDay].substring(0, 3)).append(", ") 
            .append(mfinalDay).append(" ") 
            .append(mMonths[mfinalMonth]).append(" ") 
            .append(mfinalYear).append(" ")); 
       mPickDateForFinalDate.setOnClickListener(new View.OnClickListener() { 
         public void onClick(View v) { 
          settingValueForFromOrTo = false; 
          showDialog(DATE_DIALOG_ID_FINAL); 
         } 
        }); 

       strDateFrom = new StringBuilder() 
       // Month is 0 based so add 1 
       .append(mDays[mfinalDay].substring(0, 3)).append(", ") 
       .append(mfinalDay).append(" ") 
       .append(mMonths[mfinalMonth]).append(" ") 
       .append(mfinalYear).append(" "); 

       mPickTimeForFinalTime = (Button) convertView.findViewById(R.id.btnTimefinal); 
       mPickTimeForFinalTime.setText(
         new StringBuilder() 
          .append(pad(mfinalHour)).append(":") 
          .append(pad(mfinalMinute))); 
       mPickTimeForFinalTime.setOnClickListener(new View.OnClickListener() { 
         public void onClick(View v) { 
          settingValueForFromOrTo = false; 
          showDialog(TIME_DIALOG_ID_FINAL); 
         } 
        }); 
       strTimeFrom = new StringBuilder() 
       .append(pad(mfinalHour)).append(":") 
       .append(pad(mfinalMinute)); 
       } 

      else if(position == 3) 
      { 
       convertView = mInflater.inflate(R.layout.allday, null); 

       convertView.setMinimumHeight(60); 
      } 

      else if(position == 4) 
      { 
       convertView = mInflater.inflate(R.layout.alarm, null); 
       txtAlarm = (TextView) convertView.findViewById(R.id.txtAlarmValue); 
       convertView.setMinimumHeight(60); 
      } 

      else if(position == 5) 
      { 
       convertView = mInflater.inflate(R.layout.repeat_view, null); 
       txtRepeat = (TextView)convertView.findViewById(R.id.txtRepeatValue); 
       convertView.setMinimumHeight(60); 
      } 

      else if(position == 6) 
      { 
       convertView = mInflater.inflate(R.layout.submitbutton_view, null); 
       Button btnSubmit = (Button)convertView.findViewById(R.id.btnSubmit); 
       btnSubmit.setOnClickListener(new View.OnClickListener() { 
         public void onClick(View v) { 
          String title = edttxtForTitle.getText().toString(); 

          Log.v("","all the values title" + title); 
          Log.v("","all the values datefrom" + strDateFrom.toString()); 
          Log.v("","all the values dateto" + strDateTo.toString()); 
          Log.v("","all the values timefrom" + strTimeFrom.toString()); 
          Log.v("","all the values timeto" + strTimeTo.toString()); 
          Log.v("","all the values allday" + allDay); 
          Log.v("","all the values alarm" + strAlarm); 
          Log.v("","all the values repeat" + strRepeat); 

         } 
        }); 
       convertView.setMinimumHeight(60); 
      } 

      holder = new ViewHolder();  
      holder.btnFromDate = (Button) convertView.findViewById(R.id.btnDate); 
      holder.btnFromTime = (Button) convertView.findViewById(R.id.btnTime); 
      holder.txtLabelTitle = (TextView) convertView.findViewById(R.id.txtvwFrom); 
      holder.btnFromDatefinal = (Button) convertView.findViewById(R.id.btnDatefinal); 
      holder.btnFromTimefinal = (Button) convertView.findViewById(R.id.btnTimefinal); 
      holder.txtLabelTitlefinal = (TextView) convertView.findViewById(R.id.txtvwTo); 

      convertView.setTag(holder);  

     } else { 
      holder = (ViewHolder) convertView.getTag(); 
     } 

     return convertView; 
    } 

     class ViewHolder { 
     Button btnFromDate; 
     Button btnFromTime; 
     TextView txtLabelTitle; 
     Button btnFromDatefinal; 
     Button btnFromTimefinal; 
     TextView txtLabelTitlefinal; 
     } 

私はLayoutInflatorいじりだろうか?

誰でもお手伝いできますか?

Thanx事前に。

答えて

0

あなたはそのために、このコードを使用することができます。


あなたがコードウル目的uのための


android:windowSoftInputMode="adjustPan"


以下android.manifeast.xmlファイルを追加する必要があります他のプロパティを設定することもできます。

+0

thanx Chirag ...あなたは私の一日を作りました。私は本当にこの1つを苦労していました... – neha

関連する問題