2011-02-26 4 views
0

나는 android를 처음 사용하여 조금 도움이됩니다. 보기를 전환하는 기능에 문제가 있습니다. 나는 골프 응용 프로그램을 개발 중이며, 프로그램은 사람들의 장애를 가지고 일정한 규칙에 따라 팀을 구성해야합니다.보기 전환시 캔트 표시 데이터

전환 된보기를 사용하여 기능을 구현할 때까지 프로그램이 정상적으로 작동합니다. 문제는 "사용자"가 unsorted_teams.xml에서 플레이어의 핸디캡을 채우고 next_button이라는 버튼을 클릭하고 unsorted_teams2.xml로 전환하여 채울 데이터에 따라 가능한 모든 팀 구성을 표시 할 때 발생합니다 unsorted_teams.xml.

이 뷰 스위처를 사용할 때 nullpointerException이 계속 발생합니다. 동일한 XML 파일 아래에 모든 것이 있으면 잘 작동합니다. 따라서 코드에 아무런 문제가 없다고 가정합니다. UnsortedTeams.java, unsorted_teams.xml 및 UnsortedTeams2.java, unsorted_teams2.xml 사이에서 스위처를 처리하는 방법을 가정합니다.

public class UnsortedTeams extends Activity { 

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.unsorted_teams); 
} 
} 

이것은 UnsortedTeams 자바 클래스는, 흥미로운 것은 지금까지, 그래서 이것은 unsorted_teams2 할 수있는 뷰를 전환하는 next_button으로이있는 unsorted_teams.xml 파일 :

<?xml version="1.0" encoding="utf-8"?> 

<TableLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/table2" 
    android:background="#adaeb5" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:stretchColumns="1" 
    android:weightSum="1.0" 
    android:gravity="left"> 

<TableRow 
     android:gravity="center" 
     android:background="#adaeb5"> 
      <Button 
      android:layout_height="wrap_content" 
      android:layout_width="100px" 
      android:id="@+id/next_button" 
      android:text="Submit"></Button> 

</TableRow> 


    </TableLayout> 

함께 이동을 할 수 없습니다. xml. 내가 스위치를 처리하는 코드 만 포함됩니다

주를 따라 이동할 수 있습니다 :

이 내 주요 자바 클래스입니다 : ------------>

@Override 

    public void onCreate(Bundle savedInstanceState) 
    { 


super.onCreate(savedInstanceState); 


setContentView(R.layout.main); 


spec = tabHost.newTabSpec("unsorted_teams").setIndicator("UnsortedTeams", 

       res.getDrawable(R.drawable.ic_tab_images)) 
        .setContent(R.id.table2); 

     tg = new TeamGenerator(this); 

next_button = (Button)findViewById(R.id.next_button); 

next_button.setOnClickListener(mNextListener); 


private OnClickListener mNextListener = new View.OnClickListener() 

    { 
     public void onClick(View view) 
     { 
      Intent myIntent = new Intent(view.getContext(), UnsortedTeams2.class); 
      startActivityForResult(myIntent, 0); 
      int hcp1 = Integer.parseInt((unsorted_team_hcp1.getText().toString())); 
      int hcp2 = Integer.parseInt((unsorted_team_hcp2.getText().toString())); 
      int hcp3 = Integer.parseInt((unsorted_team_hcp3.getText().toString())); 
      int hcp4 = Integer.parseInt((unsorted_team_hcp4.getText().toString())); 

      List<Result> result = tg.getTeamResultCombinations(hcp1, hcp2, hcp3, hcp4); 

      if(result != null) 
      { 
       Result r1 = result.get(0); 

       Result r2 = result.get(1); 

       Result r3 = result.get(2); 

      result_1_exp.setText(r1.getExp()+""); 
       result_1_win.setText(r1.getWin()+""); 
       result_1_draw.setText(r1.getDraw()+""); 
       result_1_loss.setText(r1.getLoss()+""); 


When the program reads result_1_exp.setText(r1.getExp()+""); this occurs: 

02-26 00:17:20.499: ERROR/AndroidRuntime(631): FATAL EXCEPTION: main 
02-26 00:17:20.499: ERROR/AndroidRuntime(631): java.lang.NullPointerException 
02-26 00:17:20.499: ERROR/AndroidRuntime(631):  at com.tiebreaker.gui.tiebreaker$1.onClick(tiebreaker.java:195) 



public class UnsortedTeams2 extends Activity { 

    /** Called when the activity is first created. */ 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.unsorted_teams2); 


     Button next = (Button) findViewById(R.id.submit3_button); 
     next.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View view) { 
       Intent intent = new Intent(); 
       setResult(RESULT_OK, intent); 
       finish(); 
      } 

     }); 
    }} 

이것은 UnsortedTeams2 클래스이며 데이터는 표시되지만 UnsortedTeams에서 전환 된 뷰는 작동하지 않습니다. 버튼 next_button은 코드에서 상위 클래스 인 "activity"를 트리거하는 버튼에서 찾을 수 있습니다. 필자는 또한 AndroidManifest.xml 파일에서 활동을 구현했습니다.

코드는보기 전환 전용으로 잘 작동하지만 데이터를 가져 와서 unsorted_teams2.xml에서 읽으려고하면 위에서 설명한대로 모든 것이 충돌합니다. 지금은 전환 된보기를 사용하지 않고 동일한 xml 파일 및 모든 작업을 잘 실행합니다. 누군가가 내 문제를 이해하고이를 해결하는 방법을 알고 있기를 바랍니다. 미리 Thx.

+0

오신 것을 환영합니다. "이 unsorted_teams2.xml을보기를 전환하는 next_button으로이있는 unsorted_teams.xml 파일을 따라 이동할 수 있습니다!" 시스템, 프로그래밍 언어 등을 포함하도록 질문에 태그를 달아야합니다 (적어도 Android는 포함해야합니다). :-) –

답변

0

편집 :

이 텍스트는 내 게시물에서 사라
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/table2" 
android:background="#adaeb5" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:stretchColumns="1" 
android:weightSum="1.0" 
android:gravity="left"> 

, 난 그냥 모든 것을 명확하게하기 위해 붙여 넣습니다. 그것은 아래에 서했는데 : 에 StackOverflow에

android:gravity="center" 
    android:background="#adaeb5"> 
     <Button 
     android:layout_height="wrap_content" 
     android:layout_width="100px" 
     android:id="@+id/next_button" 
     android:text="Submit"></Button> 
+0

답변을 추가하여 질문을 수정하지 마십시오. 원래 질문 만 편집하면됩니다. –