2017-02-21 3 views
0

MainActivityで押されたボタンに応じて、2番目のアクティビティTextViewで別の.txtファイル(生のフォルダ内)を読み込もうとしていますアクティビティ)、動作しません。私は.putextras方法を使用して、ここMainActivityの私のコードですよ。ここ以前のアクティビティでどのボタンが押されたかに応じて別の.txtを表示

ImageButton but1=(ImageButton) findViewById(R.id.imageButton2); 
    but1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent int1=new Intent(MainActivity.this,SecondActivity.class); 
      int1.putExtra("Thistext", "textnumberone"); 
      startActivity(int1); 


      finish(); 



     } 
    }); 

    ImageButton but2(ImageButton) findViewById(R.id.imageButton3); 
    but2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent int2=new Intent(MainActivity.this,SecondActivity.class); 
      int2.putExtra("Thistext", "textnumbertwo"); 
      startActivity(int2); 


      finish(); 



     } 
    }); 

はバンドルとSecondActivityの私のコード..です

Bundle extradata = getIntent().getExtras(); 


    TextView tv = (TextView)findViewById(R.id.firsttextView); 
    vitautori.setText(extradata.getString("Thistext")); 

    if (extradata.equals("textnumberone")) { 

     String texttxt = ""; 
     StringBuffer sbuffer = new StringBuffer(); 
     InputStream is = this.getResources().openRawResource(R.raw.file); 
     BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 

     try { 

      while ((texttxt = reader.readLine()) !=null){ 
       sbuffer.append(texttxt + "n"); 

      } 

      tv.setText(sbuffer); 
      is.close(); 


     }catch(Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    } 
} 

答えて

0
(extradata.equals( "textnumberone"))場合は、現在

に文字列にバンドルデータを比較している

これは動作しません、あなたは抽出する必要があります文字列データ。 vitautori.setText(extradata.getString(

に あなたは(私が思う) のTextViewバンドルから 文字列を設定します。

Bundle extradata = getIntent().getExtras(); 
String textString = extradata.getString("Thistext"); 
if (textString.equals("textnumberone")) { 

もうひとつ:これを試してみてください"Thistext"));

ただし、vitautoriの初期化は表示されません。だから、それが初期化されているか、これがクラッシュすることを確認してください。

+0

非常にBmuigありがとう、それは今動作します。私はあなたに親指を与えた。 – onecoin

+0

あなたは大歓迎です。答えがあなたの問題を解決した場合は、それを正解とマークしてください。 – Bmuig

+0

右、それをマークしました! – onecoin

0

Intent(両方を作成する場合場所はもちろん)、タイプをテキストに設定しようとします。

int1.setType("text/plain"); 

これが役立つかどうかを確認してください。

関連する問題