먼저이 코드가 작동합니다. 기본적으로 if 문을 사용하여 listview에서 클릭 한 위치를 확인한 다음 적절한 텍스트를 표시하기 위해 드로어 블을 비교하는 다른 검사를 실행합니다 (사용자가 개구리 이미지를 클릭하면 EditText 필드가 채워집니다 텍스트 "개구리"와 함께). 내가 가진 한 가지 중요한 문제는 이미지가 무작위 이미지라는 것입니다. 궁극적으로이 괴물 조각으로 안내하게되었습니다. 첫 번째 위치에 대한 검사입니다if 문을 비효율적으로 사용 - Android
if(position==0) {
if (username.getDrawable().getConstantState().equals(getResources().getDrawable(R.drawable.image06).getConstantState())) {
Toast.makeText(ChatRoom2.this, "Key", Toast.LENGTH_LONG)
.show();
String next = "<font color='#13b602'>@Key </font>";
editText.append(Html.fromHtml(next));
editText.setSelection(editText.getText().length());
} if (username.getDrawable().getConstantState().equals(getResources().getDrawable(R.drawable.image03).getConstantState())) {
String next = "<font color='#13b602'>@BlueCube</font>";
editText.setText(Html.fromHtml(next));
editText.setSelection(editText.getText().length());
}
}
, 2 개 개의 이미지 만이 중첩 된 IFS - 내가 확인하기 30 개 이미지, 각각의 위치 (30)의 경우는 문, 10 개 위치를했을 수 있습니다. 나는이 문제에 대한 나의 해결책이 매우 가난하다는 느낌을 가지고있다. 간단히 작동시키기 위해 500 라인 이상의 코드를 만들어야하기 때문이다. if 문만 포함하는 별도의 클래스를 만드는 방법이 있습니까?
만약'image01, image02, ... imageN'과 같은 반복 변수가 있다면'image [1]','image [2]'등등을 할 수 있도록 배열을 사용할 것을 고려해야합니다. ... 반복하는 것은 사소한 것입니다. –
그래도 그 변경으로 if 문이 많이 필요할 것입니다 ... – ZombiePartie
네,하지만 모든 규칙을 메서드 포인터에 넣을 수 있습니다. 'obj-> image [i] -> do_your_thing();'. –