1

私は問題に直面しています。それが本来あるべき姿なのか、何かが足りないのかわからない。
テキストビューのテキストを他のアクティビティから変更したかった...
1.他のアクティビティのレイアウトを膨らませる。
2. textview を取得する
3. textview で setText() を呼び出す
これを行いましたが、そのレイアウトを使用するアクティビティに戻すと、テキストは以前と同じでした。
そのため、メインアクティビティの「hello world」テキストビューと「hello world」テキストビューのテキストを変更する別のアクティビティのみを使用して、新しい新鮮なプロジェクトで自由にチェックしました。
しかし、私は同じ結果を得ました。テキストは変更されませんでした。例外も何も与えませんでした。アプリケーションは正常に実行されました。私はしません なぜこれが起こったのか理解できませんか?
コード
MainActivity.java

public class MainActivity extends Activity {

public static TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tv = (TextView) findViewById(R.id.lolll);
    tv.setOnClickListener(new View.OnClickListener()
    {

        @Override
        public void onClick(View v)
        {
            startActivity(new Intent(MainActivity.this, MonActivity.class));
        }
    });

}

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

MonActivity.java - アクティビティ #2

public class MonActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_mon);
    LayoutInflater inf = getLayoutInflater();
    RelativeLayout rel = (RelativeLayout) inf.inflate(R.layout.activity_main, null);
    TextView tv = (TextView) rel.findViewById(R.id.lolll);
    tv.setText("finger crossed");
}

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.mon, menu);
    return true;
}

}

4

1 に答える 1