클릭하면 내보기에서 디스플레이 번호를 업데이트하는 첫 번째 버튼을 얻으려고합니다. 이보기에는 여러 개의 버튼과 "출력"이 표시됩니다. 예제와 Q를 읽은 후에 마침내 함께 실행 해 보았지만 첫 버튼은 여전히 작동하지 않습니다.버튼을 작동시키는 데 도움이 필요합니다.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ship_layout);
mSwitcher = (TextSwitcher) findViewById(R.id.eng_val);
}
private TextSwitcher mSwitcher;
// Will be connected with the buttons via XML
void onClick(View v){
switch (v.getId()) {
case R.id.engplus:
engcounter++;
updateCounter();
break;
case R.id.engneg:
engcounter--;
updateCounter();
break;
}
}
private void updateCounter() {
mSwitcher.setText(String.valueOf(engcounter));
}
이 버튼의 .xml은입니다.
<TextSwitcher
android:id="@+id/eng_val"
android:visibility="visible"
android:paddingTop="9px"
android:paddingLeft="50px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/build"
android:layout_toRightOf="@+id/engeq"
android:textColor="#DD00ff00"
android:textSize="24sp"/>
그렇지 않은 경우 나타나는 비교 레이아웃 내에 있습니다. 확인을 누릅니다. 뷰로 TextView를 문자열로 설정된 숫자로 설정했는데 숫자가 표시되었지만 숫자 필드로 텍스트를 업데이트하는 방법을 알 수 없었습니다. 그게 내 진짜 문제일지도 몰라.
나는 일반적으로 dev에서 참조 된 많은 예제를 거쳤습니다. 사이트 (UI, 일반적인 작업, 다양한 샘플)를 볼 수 있습니다. 여기에도 연결이 표시되지 않습니다 ...
다시 말해서 변수에 응답하여 뷰에 대한 업데이트를 시도하는 것입니다.
그럼, 도움이 될만한 사람을위한 몇 가지 질문입니다.
1) 더 쉬운 방법이 있습니까 (예 : 숫자 값을 View로 전송)? 2) 내 TextSwitcher에 숫자가 표시되지 않는 이유는 무엇입니까? 3) 여기에서 TextSwitcher를 사용해야합니까? 4) 이것의 예는 무엇입니까?
업데이트 !!! : 피드백이있는 버튼이 작동 중입니다. 피드백, 연구 및 행운을 기반으로 한 나의 수정입니다.
공용 클래스 MYVIEW은 MYAPP이 ViewSwitcher.ViewFactory, View.OnClickListener {
public int engcounter = 1;
private TextSwitcher mSwitcher;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_layout);
mSwitcher = (TextSwitcher) findViewById(R.id.eng_val);
mSwitcher.setFactory(this);
Button engp = (Button) findViewById(R.id.engplus);
engp.setOnClickListener(new View.OnClickListener() {
public void onClick(View view){
engcounter++;
updateCounter();
}
});
Button engn = (Button) findViewById(R.id.engneg);
engn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view){
engcounter--;
updateCounter();
}
});
}
private void updateCounter() {
mSwitcher.setText(String.valueOf(engcounter));
}
public View makeView() {
TextView t = new TextView(this);
t.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
t.setTextSize(36);
return t;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
이 중 일부는 순간 (makeView에 예. 중력)에서 불필요한 표시를 구현 확장,하지만 작품! 그리고 다른 것들을하고 싶은 10-20 버튼을 위해 일해야합니다.
키가 청취자의 권리를 얻고 있었고 TextSwitcher의 전체 설정이 어색하기 때문에 ... 여전히 배우기 쉽습니다.
다른 모든 의견은 환영합니다!
업데이트 업데이트 !! 이 또한 찾았습니다. 내가 여기 잘못 가고 있지만 정확히 확인하려면 코드를 더 볼 필요가
http://developer.android.com/resources/articles/ui-1.6.html
흠 ... 감사. 무슨 뜻인지 알 겠어. 나는 그것들을 내 견해에 추가했고 지금은 충돌 (전에 아무것도하지 않았지만, 나는 버튼을 클릭 할 수 있었다) ... 계속 그것을 볼 것이다 ... –
명확히하기 위해, 나는이 두 가지 중 하나를 클릭 할 때만 충돌한다. 버튼. 그렇지 않은 경우 다른 버튼과보기는 정상입니다. –
LogCat 출력에 Stacktrace가 있어야 충돌 이유를 알 수 있습니다. 당신이 그것을 이해할 수 없다면 여기에 게시하십시오. –