问题描述
我有一个网格视图,并且正在该网格视图中动态设置编辑文本。我想对每个编辑文本执行onClick操作(当我单击编辑文本时,它会更改背景颜色)。但是由于某种原因,它不起作用。我无法执行点击操作。我尝试过onItemSelectedListner,OnItemClickListner,但没有任何效果。这是我的代码。
activity_condition_selection.xml
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 (将#修改为@)