切换视图时无法显示数据

时间:2011-02-26 02:04:43

标签: android

我是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 java类,到目前为止没有什么有趣的,所以让我们继续前进:)

<?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>

这是unsorted_teams.xml文件,其中包含将视图切换为unsorted_teams2.xml的next_button。让我们继续前进

请注意,我只会包含处理交换机的代码:

这是我的主要java类:------------&gt;

 @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();
            }

        });
    }}

这是应该显示数据的Class UnsortedTeams2,但由于它是UnsortedTeams的切换视图,因此不起作用。 next_button按钮可以在代码中较高的主类中找到,这是触发“活动”的按钮。我还在AndroidManifest.xml文件中实现了一个活动。

请注意,代码仅适用于切换视图,但是当我尝试获取(加载)数据并在unsorted_teams2.xml中读取数据时,所有内容都会如上所述崩溃。至于现在我没有使用切换视图并在同一个xml文件下运行所有​​内容,并且它工作正常。我希望有人理解我的问题,并有想法如何解决这个问题。 Thx提前。

1 个答案:

答案 0 :(得分: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">

这篇文章从我的帖子中消失了,我只是粘贴它以使一切都清楚。应该站在: “这是unsorted_teams.xml文件,其中包含将视图切换为unsorted_teams2.xml的next_button。让我们继续前进”

    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>