我最近开始将我的应用程序从 iOS 移植到 Android,我遇到了一些困难。我想做的是在一堆键值类型对的东西中显示一些数据。我正在使用包含的视图来保存代码,这是我的代码:
detail_verb.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/englishOutlet"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="40sp"
android:textIsSelectable="false"
android:gravity="center_horizontal" />
<include android:id="@+id/jeOutlet" layout="@layout/detail_verb_conjugation" />
<include android:id="@+id/tuOutlet" layout="@layout/detail_verb_conjugation" />
<include android:id="@+id/ilOutlet" layout="@layout/detail_verb_conjugation" />
<include android:id="@+id/nousOutlet" layout="@layout/detail_verb_conjugation" />
<include android:id="@+id/vousOutlet" layout="@layout/detail_verb_conjugation" />
<include android:id="@+id/ilsOutlet" layout="@layout/detail_verb_conjugation" />
</LinearLayout>
</ScrollView>
detail_verb_conjugation.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/pp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:layout_alignParentLeft="true"
android:textSize="20sp"
android:padding="10dp" />
<TextView
android:id="@+id/con"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textIsSelectable="true"
android:textSize="20sp"
android:padding="10dp" />
<View
android:background="?android:attr/listDivider"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:layout_centerVertical="true"
android:layout_below="@id/con" />
</RelativeLayout>
VerbDetail.java
package co.uk.iVerbs.iverbsfrench;
import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.util.Log;
import android.view.MenuItem;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.content.Intent;
public class VerbDetail extends Activity {
@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.detail_verb);
Intent intent = getIntent();
final DataModel verb = intent.getParcelableExtra("verb");
setTitle(verb.infinitive);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
TextView textView = (TextView) findViewById(R.id.englishOutlet);
textView.setText(verb.english);
RelativeLayout rl = (RelativeLayout) findViewById(R.id.jeOutlet);
textView = (TextView)jeOutlet.findViewById(R.id.pp);
textView.setText("Je");
textView = (TextView)jeOutlet.findViewById(R.id.con);
textView.setText(verb.je);
Log.d("asf", jeOutlet.toString());
rl = (RelativeLayout) findViewById(R.id.tuOutlet);
textView = (TextView)rl.findViewById(R.id.pp);
textView.setText("Tu");
textView = (TextView)rl.findViewById(R.id.con);
textView.setText(verb.tu);
rl = (RelativeLayout) findViewById(R.id.ilOutlet);
textView = (TextView)rl.findViewById(R.id.pp);
textView.setText("Il/Elle");
textView = (TextView)rl.findViewById(R.id.con);
textView.setText(verb.il);
rl = (RelativeLayout) findViewById(R.id.nousOutlet);
textView = (TextView)rl.findViewById(R.id.pp);
textView.setText("Nous");
textView = (TextView)rl.findViewById(R.id.con);
textView.setText(verb.nous);
rl = (RelativeLayout) findViewById(R.id.vousOutlet);
textView = (TextView)rl.findViewById(R.id.pp);
textView.setText("Vous");
textView = (TextView)rl.findViewById(R.id.con);
textView.setText(verb.vous);
rl = (RelativeLayout) findViewById(R.id.ilsOutlet);
textView = (TextView)rl.findViewById(R.id.pp);
textView.setText("Ils/Elles");
textView = (TextView)rl.findViewById(R.id.con);
textView.setText(verb.ils);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
}
每当我旋转详细视图时,由于某种原因,所有行都会更改为“Ils/Elles”以及该字段的相应值。这是最后一排,有大神帮忙吗?