0

あるアクティビティから別のアクティビティにデータを送信するAndroidアプリケーションがあります。その部分は簡単に実行できますが、問題は、追加のTextViewもいくつか表示したいということです。したがって、を使用して送信済みデータを表示すると、送信済みデータsetContentViewのみが表示されます。追加のTextViewが表示されません。両方を同時に表示したい。

運が悪かったので、検索して解決策を見つけようとしました。参考のためにコードを添付しています。ありがとうございます。

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_crop_information);
    Intent intent = getIntent();
    String message = intent.getStringExtra(CropsListActivity.EXTRA_MESSAGE);
    TextView textViewci= new TextView(this);
    textViewci.setText(message);
    TextView textView1= new TextView(this);
    TextView textView2= new TextView(this);
    textView1.setText("Major Districts");
    textView2.setText("Suitable Soil");

このコードを使用すると、何も表示されず、アクティビティが空白のままになります。実際には、TableLayoutデータをテーブル形式で表示できるように、ここを使用しています。

4

5 に答える 5

2

レイアウトにテキストビューを追加する必要があります。

View linearLayout =  findViewById(R.id.info);
//LinearLayout layout = (LinearLayout) findViewById(R.id.info);


TextView valueTV = new TextView(this);
valueTV.setText("hallo hallo");
valueTV.setId(5);
valueTV.setLayoutParams(new LayoutParams(
        LayoutParams.FILL_PARENT,
        LayoutParams.WRAP_CONTENT));

((LinearLayout) linearLayout).addView(valueTV);
于 2013-02-04T04:52:52.470 に答える
2

親ビューにテキストビューを追加する必要があります。たとえば、線形レイアウトでテキストビューを使用した場合は、線形レイアウトでテキストビューを追加してから、addview(linearlayout)を使用します。

以下は例です

RelativeLayout layout = new RelativeLayout(this);
TextView tv1 = new TextView(this);
tv1.setText("A");
tv1.setId(23);

TextView tv2 = new TextView(this);
tv2.setText("B");
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.FILL_PARENT);
lp.addRule(RelativeLayout.RIGHT_OF, tv1.getId());

layout.addView(tv1);       
layout.addView(tv2, lp);
于 2013-02-04T04:57:23.743 に答える
1
I have just make a test program for you. first class code

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    button = (Button) findViewById(R.id.button1);

    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
        Intent intent = new Intent(MainActivity.this, SecondClass.class);
        intent.putExtra("firstValue", "1");
        intent.putExtra("secondValue", "2");
        startActivity(intent);


        }
    });

Second class code :

setContentView(R.layout.activity_crop_information);
        Intent intent = getIntent();
        String message1 = intent.getStringExtra("firstValue");
        String message2 = intent.getStringExtra("secondValue");

        RelativeLayout layout = new RelativeLayout(this);
        TextView textView1= new TextView(this);
        TextView textView2= new TextView(this);

        TextView textViewci= new TextView(this);
        textViewci.setText(message1+""+message2);
        Log.e("intent value is", ""+message1+""+message2);


        RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.FILL_PARENT);
        lp.addRule(RelativeLayout.RIGHT_OF, textView1.getId());


        textView1.setText("Major Districts");
        textView2.setText("Suitable Soil");

        layout.addView(textView1);
        layout.addView(textView2);
        addContentView(layout, lp);

Try and let me know. YOu have to make related layouts for both classes.
Hope this will help
于 2013-02-04T05:59:30.763 に答える
1

エラーメッセージが表示されていますか?はいの場合は、ここに投稿してください。そして他は正しいです。あなたはあなたのビューを親レイアウトに追加する必要があります。

于 2013-02-04T05:54:01.253 に答える
1

私は自分で答えを見つけました。それはかなり簡単で、親レイアウトでビューを使用する必要はありません。xmlファイルのtextViewsを変更し、を使用して値を取得しましfindViewByIdた。更新されたコードを添付しています。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_crop_information);
    Intent intent = getIntent();
    String message = intent.getStringExtra(CropsListActivity.EXTRA_MESSAGE);
    textView=(TextView)findViewById(R.id.textViewci);
    textView1=(TextView)findViewById(R.id.textViewmd);
    textView2=(TextView)findViewById(R.id.textViewso);
    textView.setText(message);
    textView1.setText("Major Districts");
    textView2.setText("Suitable Soil");
    tf = Typeface.createFromAsset(getAssets(), "fonts/SHRUTIB.TTF");
    textView.setTypeface(tf);
    }
于 2013-02-05T10:07:53.797 に答える