网格视图上的ClickListener无法正常工作我想在单击网格视图中的每个编辑文本时执行功能

问题描述

我有一个网格视图,并且正在该网格视图中动态设置编辑文本。我想对每个编辑文本执行onClick操作(当我单击编辑文本时,它会更改背景颜色)。但是由于某种原因,它不起作用。我无法执行点击操作。我尝试过onItemSelectedListner,OnItemClickListner,但没有任何效果。这是我的代码。

activity_condition_selection.xml

enter image description here

ConditionSelectionSelectionActivity.java

package com.molescope;

public class ConditionSelectionActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    List<String> conditions = Arrays.asList("condition1","condition2","condition3","condition4","condition5","condition6","condition7","condition8","condition9","condition1","Other","Other");

    setContentView(R.layout.activity_condition_selection);
    GridView gridView = (GridView)findViewById(R.id.conditionsGridView);
    final ConditionsAdapter conditionsAdapter = new ConditionsAdapter(this,conditions);
    gridView.setAdapter(conditionsAdapter);

    gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView,View view,int i,long l) {
            Toast.makeText(getApplicationContext(),"this is item at "+i,Toast.LENGTH_SHORT).show();
        }
    });

    Button nextButton = (Button)findViewById(R.id.nextActivityButton);
    nextButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent = new Intent(ConditionSelectionActivity.this,BodyMapActivity.class);
            intent.putExtra("task",BodyMapActivity.DERM_TECH_REQUEST);
            intent.putExtra(BodyMapActivity.IS_DERMTECH_SUBMISSION,true);
            intent.putExtra("requestCode",BodyMapActivity.DERM_TECH_REQUEST);
            startActivity(intent);
        }
    });
}

public class ConditionsAdapter extends BaseAdapter {

    private Context context;
    private List<String> conditions;
    EditText conditionEditText;

    public ConditionsAdapter(Context context,List<String> conditions){
        this.context = context;
        this.conditions = conditions;
    }

    @Override
    public int getCount() {
        return conditions.size();
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int i,ViewGroup viewGroup) {
        if(view == null) {
            final LayoutInflater layoutInflater = LayoutInflater.from(context);
            view = layoutInflater.inflate(R.layout.each_condition_selection_item_layout,null);
        }

        conditionEditText = (EditText)view.findViewById(R.id.conditionEditText);
        conditionEditText.setText(conditions.get(i));
        conditionEditText.setBackgroundResource(R.drawable.condition_selection_border);
        conditionEditText.setEnabled(false);
        if (conditions.get(i).equalsIgnoreCase("other")) {
            conditionEditText.setEnabled(true);
        }
        conditionEditText.setPadding(5,50,5,50);

        return view;
    }
}

}

each_condition_selection_item_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/text_margin"
android:layout_margin="@dimen/text_margin">

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/conditionEditText"
    android:textSize="@dimen/size_text"
    android:gravity="center"
    android:hint="test text"
    android:textColor="@color/black_transparent"
    android:enabled="false"/></RelativeLayout>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)