最初に、私がnOObであり、あなたが投稿した質問と回答を読むだけで多くのことを学んだので、ここにいる皆さんに感謝したいと思います。私はエンドユーザに多くのテキストを渡そうとしていますが、新しいクラスや.xmlファイルでこれを行うことができますが、これは煩雑になりつつあります。私はちょうど@string/?????を変更するだけのテキスト文字列の特定のセットのための単一のXMLレイアウトを持つことによってアプリケーションを裏打ちするストリームを考えたボタンonclickとsetTextを使用していますが、xmlファイルの@stringの初期値を変更できないことを知りました。質問は、真ですか?これを行うより効率的な方法があります(つまり、android:textをvarに設定し、javaのvarを特定の文字列に設定する)か、各文字列に対して新しいxmlレイアウトが必要ですか? (それはあなたが私に尋ねると無駄になります)そして少し洞察力があれば、今度は約5つの段落と成長する約250の異なる文字列があります。scrollViewに表示されている文字列の値を変更する
ここまでは私のコードです。私はそれは私が後で使用するために場所に保管したい別のクラスのASO1を呼び出すので、その後のonclick で2テキストビューの行を削除したときに最初のJava
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class Monlt extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.monolt);
final MediaPlayer buttonsound = MediaPlayer.create(Monlt.this, (R.raw.buttonclick));
Button button1 = (Button) findViewById(id.button1);
Button button2 = (Button) findViewById(id.button2);
Button button3 = (Button) findViewById(id.button3);
Button button4 = (Button) findViewById(id.button4);
Button button5 = (Button) findViewById(id.button5);
Button button6 = (Button) findViewById(id.button6);
Button button7 = (Button) findViewById(id.button7);
Button button8 = (Button) findViewById(id.button8);
Button button9 = (Button) findViewById(id.button9);
Button button11 = (Button) findViewById(id.button11);
Button button12 = (Button) findViewById(id.button12);
Button button13 = (Button) findViewById(id.button13);
Button button14 = (Button) findViewById(id.button14);
Button button15 = (Button) findViewById(id.button15);
Button button16 = (Button) findViewById(id.button16);
Button button17 = (Button) findViewById(id.button17);
Button button18 = (Button) findViewById(id.button18);
Button button19 = (Button) findViewById(id.button19);
Button button21 = (Button) findViewById(id.button21);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
buttonsound.start();
final TextView mview = (TextView) findViewById(R.id.solayout2);
mview.setText("mono1"); //this was my first string to pass
startActivity(new Intent("com.nvar.Sorders.Mono.ASO1"));
}
});
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
buttonsound.start();
startActivity(new Intent("com.nvar.Sorders.ASO1"));
final TextView mview = (TextView) findViewById(R.id.solayout2);
mview.setText("@string/mono2");/this is the second string to pass
}
});
`
の
スニペットは、今、このコードは動作します。 Aso1 Javaコード ` パッケージcom.nvar.Sorders.Mono;
import com.nvar.Sorders.R;
import android.app.Activity;
import android.os.Bundle;
public class Aso1 extends Activity {
// Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.solayout2);
}
}
`
し、最初のXML
`
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/solayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="mview"/>
<!-- android:text="@string/monoaso1"/>
-->
<!-- this is were i was playing with the strings />
-->
</LinearLayout>
</ScrollView>
` は、この問題で任意のヘルプは大歓迎、およびJavaに "noobのを" 覚えていることでしょう/アンドロイド!もし私が見ることができる、または見なければならないことのサンプルがあるなら、頭を叩き、正しい方向に私を向けることをためらってください。私は読んで気にしない:) もう一度ありがとう。
のスクロール可能な段落のようなものがあるでしょう:次に、コードでは、値を更新するには、このような何かを行うことができます私はsetTextを使用するときにクリックした後に、クラスとXMLを実行時エラーが発生します。私がその行を削除すると、アプリケーションは次のクラスと新しいxmlに進みます。私は答えを理解できないか、質問を説明することができなかったかどうかはわかりません。私は最初のクラスのonClickで選択されたオプションに従って別の文字列を表示したいだけの文字列の値に変更したくありません。 – Madtec
申し訳ありませんが、文字列xmlの使用にローカリゼーションリンクを追加するのを忘れていました。テキストを変更するコードも更新しました。 xmlに2つのsting値を宣言する必要があります。また、 'res.getString(R.string.string_id)' –