导致 EditText 无法工作的 BaseAdapter

BaseAdapter causing EditText to not work

每当我使用基本适配器将视图添加到画廊时,它会导致视图内的 EditText 不允许文本输入,它聚焦并且键盘出现,但是当我输入文本时它不会'不要出现。 EditText 类型是 numberDecimal.

我已经尝试将 MainActivity 的内容视图设置为 ap_overview_add,并且 EditText 工作正常。

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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.mwapps.baseadaptertest.MainActivity">

    <Gallery
        android:id="@+id/gallery1"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_weight="0.6"
        android:padding="20dp" />

</RelativeLayout>

ap_overview_add.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"
    android:id="@+id/ap_overview_add_LL"
    android:gravity="center">

        <EditText
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:id="@+id/ap_et_add"
            android:inputType="numberDecimal"
            android:padding="10dp"
            android:backgroundTint="@color/abc_secondary_text_material_light"
            android:imeOptions="actionSend"
            android:lines="1"
            android:maxLines="1"
            android:singleLine="true"
            android:layout_weight=".75"
            android:clickable="true"
            android:text="300"
            android:focusable="true"
            android:focusableInTouchMode="true" />

</LinearLayout>

MainActivity.java

public class MainActivity extends AppCompatActivity {

    Gallery gallery;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        gallery = (Gallery) findViewById(R.id.gallery1);
        gallery.setAdapter(new GalleryImageAdapter(this));
    }
}

GalleryImageAdapter.java

public class GalleryImageAdapter extends BaseAdapter {
        Context mContext;
        LayoutInflater inflater;

        public GalleryImageAdapter(Context context)
        {
            mContext = context;
        }

        public int getCount() {
            return 1;
        }

        public Object getItem(int position) {
            return position;
        }

        public long getItemId(int position) {
            return position;
        }

        // Override this method according to your need
        public View getView(int index, View view, ViewGroup viewGroup)
        {
            // TODO Auto-generated method stub
            inflater = LayoutInflater.from(mContext);
            View tab;
            tab = inflater.inflate(R.layout.ap_overview_add, viewGroup, false);

            return tab;
        }
}

我看过其他类似的问题,但没有任何效果,包括尝试更改 softinput 模式,导致文本无法输入的原因是什么?

编辑:如果将 inputType 更改为文本,则允许输入

编辑 2:如果 inputtype 设置为 numberDecimal,则无法输入数字,但可以输入逗号之类的东西,所以看起来它不接受数字

您可以按照 developer.android.com/reference/android/widget/Gallery.html 中的建议使用 ViewPager 而不是 Gallery 让它发挥作用