2010-11-25 2 views
0

나는 여전히 안드로이드에 J2ME 애플 리케이션을 이식하고 지금은 내 문제는 GUI와 함께입니다. 는 내가 본 것을 들어, 안드로이드의 활동은 중대하다,하지만 내 J2ME는 고전으로 가득 :안드로이드에 SwitchDisplayable

public void switchDisplayable(Alert alert, Displayable nextDisplayable) { 
     Display display = getDisplay(); 
     if (alert == null) 
      display.setCurrent(nextDisplayable); 
     else 
      display.setCurrent(alert, nextDisplayable); 
} 

난 그냥 활동에 모든이 표시 가능한 수 없습니다, 그래서보기로 대체에 대해 생각했다. 나는 그것을 시도했지만 작동하지 않습니다, 애플 리케이션이 화면을 변경하지 않습니다.

업데이트 : 응답에 대한

감사합니다,하지만 알은 FrameLayout이 여전히 아무것도 내부 vews 배치. 이건 내 테스트 코드의 핵심입니다, 그래서 당신은 그것을 확인할 수 있습니다은 "안녕"사라져 화면에서의 OnClick 후

public class TestActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState);   
     setContentView(R.layout.main); 
     TextView t = (TextView)findViewById(R.id.text); // Shows "Hi" 
     showDialog(); // it just shows a dialog asking if the user wants to change screen 

    } 
    showDialog() { 
     // in OnClick()... i do the following, and here is where it fails, i tried so far:   
     TestView testv= new MarcoLoco(MFActivity.this); 
    setContentView(testv); 
     testv.invalidate(); 
    testv.requestFocus(); 
    testv.showMeSomething(); 
    } 


public class TestView extends View{ 
    private Context context; 
    TextView tv;  
    public TestView(Context context) { 
     super(context); 
     this.context=context; 
    } 
    public void showMeSomething() { 
     tv = (TextView)findViewById(R.id.tessto); // it should show "Bye" 
    } 
} 

하지만 아무것도 더 "안녕"을 나타납니다.

왜, 왜,!?

답변

0

나는 자바 ME 어떤의 expirience을 가지고 있지 않지만,이

당신에게 도움이, 당신은 diffrent보기 사이를 전환 할 수

mViewA.setVisibility(View.VISIBLE); 
mViewB.setVisibility(View.GONE); 
mViewA.requestFocus(); 

를 사용할 수있는 FrameLayout 내부에 조회수를 넣어 수

편집 :

다음은 2 가지 텍스트보기 간을 전환하는 간단한 예제 프로그램입니다 :

아마도 이러한

PS 도움을 줄 수 - 363,210

public class test extends Activity { 
    boolean showTV1 = true; 

    OnClickListener ocl = new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      showTV1= !showTV1; 
      if (showTV1){ 
       tv1.setVisibility(View.VISIBLE); 
       tv2.setVisibility(View.GONE); 
       tv1.requestFocus(); 
      } else { 
       tv2.setVisibility(View.VISIBLE); 
       tv1.setVisibility(View.GONE); 
       tv2.requestFocus(); 
      } 
     } 
    }; 

    private TextView tv1, tv2; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     tv1 = (TextView) findViewById(R.id.TextView01); 
     tv2 = (TextView) findViewById(R.id.TextView02); 

     tv1.setOnClickListener(ocl); 
     tv2.setOnClickListener(ocl); 
    } 
} 

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/frameLayout01" android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 
    <TextView android:id="@+id/TextView01" android:layout_width="fill_parent" 
     android:layout_height="fill_parent" android:background="#0f0" 
     android:text="Hi" /> 
    <TextView android:id="@+id/TextView02" android:layout_width="fill_parent" 
     android:layout_height="fill_parent" android:background="#f00" 
     android:text="Bye" android:visibility="gone"/> 
</FrameLayout> 
+0

답변 해 주셔서 감사합니다. 아직 작동하지 않습니다. 코드 스 니펫을 추가 했으므로 모두 볼 수 있습니다. – ferostar

+0

@Peter 2 textviews 사이를 토글하는 간단한 예제 프로그램을 추가했습니다. – getekha

+0

대단히 감사합니다. @getekha, 다른 클래스의 뷰가 아닌 xml의 뷰로 전환하려고하면 문제가 생깁니다. 전망. – ferostar

0

main.xml 나는 완전히 질문을 이해하지만 ViewAnimatorViewFlipper보고 시도 확실하지 않다. 호기심에서 ... 자동 변환기 중 하나를 사용해 보셨습니까?

+0

내 문제는 내가 "원본", XML 정의 된보기에서 다른 한 말할 때 "MyView 확장보기"런타임에, 그것은 전혀 표시되지 않습니다. 첫 번째보기는 사라지지만 두 번째보기는 표시되지 않습니다. – ferostar

0

변환 도구를 사용하는 대신 J2ME에서 Android로 직접 포팅하는 이유는 무엇입니까? 더 빠르고, 안드로이드로 배우고 익힐 필요가 없습니다. 2 개의 코드베이스를 디버그하고 유지할 필요가 없습니다 ... www.UpOnTek.com에서 사용해보십시오. 감사.