1

出力をテキスト表示で表示しようとしています。しかし、それを表示することはできません。私はそれが私のプログラムに表示されていないyを知りません package com.iiitb.nikhil.sindhu;TextViewが表示されません。しかし、logcatに表示されているとすべて正常に動作します

import java.io.BufferedReader; 
import java.io.DataInput; 
import java.io.DataInputStream; 
import java.io.DataOutputStream; 
import java.io.IOException; 
import java.io.InputStreamReader; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.widget.TextView; 
    import java.util.*; 
import android.util.*; 
    public class LinuxShellCommandAndroidProgramActivity extends Activity { 
/** Called when the activity is first created. */ 

TextView tv; 
public void onCreate(Bundle savedInstanceState) { 
    tv=new TextView(this); 
    super.onCreate(savedInstanceState); 

    try { 
     Process process = Runtime.getRuntime().exec("/system/bin/su"); 
     DataOutputStream os = new DataOutputStream(process.getOutputStream()); 
     DataInputStream is=new DataInputStream(process.getInputStream()); 

     //os = new DataOutputStream(process.getOutputStream()); 
     os.writeBytes("/system/bin/chmod 600 /data/data/newfile\n"); 
     os.writeBytes("cd /data/data/dalvik-cache/\n"); 
     os.writeBytes("/system/bin/ls -l /data/dalvik-cache\n"); 
     String output=new String(); 

     tv.setText("hii \n"); 
     //setContentView(tv); 
     String temp = new String(); 
      while((output=is.readLine())!=null) 
      { 
       Log.i("Check ",output); 
       tv.append(output); 
      } 

      setContentView(tv); 
      os.flush(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
    } 


    } 
} 
+0

最初のチェックファイルでのTextViewを置くことができます例外がスローされるよりもtv.setText( "hii \ n")が実行される前に存在する場合は、その場所に存在します。 ステートメント... –

答えて

2

は次のようにスーパークラス を呼び出した後tv=new TextView(this);を取るEDITEDのTextViewにLayoutParameterを設定、またはちょうどあなたのmain.xmlファイル内のレイアウトを取るとlayout.addView(textview);

することにより、そのレイアウトでのTextViewを追加しますこの

super.onCreate(savedInstanceState); 
    tv=new TextView(this); 
+0

paramsはmatch_parentとみなされないので、問題ではないと思います。 –

+0

あなたは正しいかもしれませんが、その証拠を追加提供できますか? 'View'と' TextView'コードだけでなく、それらのドキュメントを飛ばしました。これはどこからでも*(コードからビューを作成するとき)*とは見えませんでした。 –

+0

http://developer.android.com/reference/android/app/Activity.html#setContentView(android.view.View)、これを確認してください。 –

1

あなたはであること

public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    tv=(TextView) findViewById(R.id.tv); 

.... 

とオープンのres /レイアウト/ main.xml O linerlayoutタグbetweeanこのコードを挿入し、

<TextView android:text="Text box" android:layout_width="60dp" android:id="@+id/tv" android:layout_height="wrap_content"></TextView> 
0

あなたがこの方法

ScrollView sv = new ScrollView(this); 
    LinearLayout ll = new LinearLayout(this); 
    ll.setOrientation(LinearLayout.VERTICAL); 
    sv.addView(ll); 

    TextView tv = new TextView(this); 

    tv.setText("Dynamic layouts ftw!"); 

    ll.addView(tv); 
    this.setContentView(sv); 
関連する問題