我是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提前。
答案 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>