2016-12-01 9 views
0

内の任意の文字を入力することはできません私はList.xmlの私のように私のリストのためのアダプターを使用LayoutParamsが正しく動作しない、のEditText

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.phongponix.trackingbodybuilding.MainActivity$PlaceholderFragment" 
    android:orientation="vertical" 
    > 

    <ListView android:id="@+id/lvExerciseList" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:clipToPadding="false" 
     android:paddingBottom="50dp" 
     ></ListView> 
</LinearLayout> 

マイlist_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" 
    android:padding="20dp" 
    android:id="@+id/containerTest"> 


    <LinearLayout 
     android:id="@+id/first_panel" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <ImageView 
      android:id="@+id/imgExcercisePhoto" 
      android:layout_width="100dp" 
      android:layout_height="100dp" /> 

     <TextView 
      android:id="@+id/tvExerciseName" 
      android:layout_width="100dp" 
      android:layout_height="wrap_content" 
      android:text="aaa" /> 
    </LinearLayout> 
    <RelativeLayout android:id="@+id/rlRecordContainer" 
     android:layout_width="150dp" 
     android:layout_height="match_parent" 
     android:orientation="horizontal"> 

    </RelativeLayout> 


    <android.support.v7.widget.RecyclerView 
     android:id="@+id/rvExcerciseRecords" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_toRightOf="@id/first_panel" 
     android:clipToPadding="false" 
     android:scrollbars="horizontal"></android.support.v7.widget.RecyclerView> 

</LinearLayout> 

を持っています下の絵として

if (convertView == null) { 
      view = inflater.inflate(R.layout.list_item, null); 
      viewHolder = new ViewHolder(); 
      viewHolder.title = (TextView) view.findViewById(R.id.tvExerciseName); 
      view.setTag(viewHolder); 
      LinearLayout container = (LinearLayout)view.findViewById(R.id.first_panel); 

      LinearLayout.LayoutParams layoutParamsWeight = new LinearLayout.LayoutParams(convertDpToPixel(activity, 30), convertDpToPixel(activity, 20)); 
      layoutParamsWeight.setMargins(0, 0, convertDpToPixel(activity, 5), convertDpToPixel(activity, 5)); 
      EditText etWeight = new EditText(activity); 
      etWeight.setWidth(convertDpToPixel(activity, 30)); 
      etWeight.setHeight(convertDpToPixel(activity, 20)); 
      //etWeight.setLayoutParams(layoutParamsWeight); 
      etWeight.setBackgroundColor(ContextCompat.getColor(activity, R.color.colorEditTextBox)); 
      etWeight.setInputType(InputType.TYPE_CLASS_NUMBER); 
      etWeight.setFocusableInTouchMode(true); 
      //etWeight.setId(currentWeightID); 
      container.addView(etWeight); 

      RelativeLayout relativeLayout = (RelativeLayout) view.findViewById(R.id.rlRecordContainer); 
      renderRecordItemHead(activity, relativeLayout); 
      renderRecordItem(activity, relativeLayout, currentWeightID); 

      recyclerView = (RecyclerView) view.findViewById(R.id.rvExcerciseRecords); 
      LinearLayoutManager linearLayoutManager = new LinearLayoutManager(activity, LinearLayoutManager.HORIZONTAL, false); 
      linearLayoutManager.setStackFromEnd(true); 
      recyclerView.setLayoutManager(linearLayoutManager); 
      recyclerView.setAdapter(trackingPlanHorizontalAdapter); 


     } 

私は(使用いけない)LayoutParamsをコメントアウトした場合、私は文字を入力して見ることができます。以下私のEditText。 EditTextにLayoutParamsを使用すると、入力できません。EditTextをクリックするとキーボードが表示され、フォーカスが失われます。キーボードに触れるたびに何も表示されません。

enter image description here

+0

_私の言葉を真剣に受け止めていませんあなたの質問は何とか意味をなさない、layoutParamsを適用しないとViewGroupはデフォルトのパラメータを適用します。 )layoutparamsが適用されているedittextをクリックしたときにキーボードが表示されるのですか?新しいLinearLayout.LayoutParams(convertDpToPixel(activity、30))はlayoutparamを適用したときに表示されますか? – Elltz

+0

? –

答えて

0

理由だけではなく、XMLでのEditTextビューを使用していませんか?

<EditText 
android:id = @+id/"edit_ text" 
android:text = "Edit text here" 
android:layout_width = 100dp 
android:layout_height = 100dp 
+0

私は動的にコード内のビューを生成したい はい、私は今レンダリングレイアウトの方法を変更しようと考えています – phongtran

+0

どうしてなぜ動的に編集テキストを生成しますが、他のレイアウトフィールドは生成しませんか? –

1

私は数日前に同じ問題に直面していました。しかし、明らかに実際に編集されていたようですが、デフォルトのパディングとテキストサイズがEditTextのため、私が提供したlayoutparamsには適合していなかったので、余分な部分を切り取って見えませんでした。テキストサイズを小さくして0を設定しようとしました。それは動作します

関連する問題