2016-03-31 6 views
0

私はこのコードをonStartメソッドに入れようとしています。私はいくつかのことを試してみましたが、方法を見つけるように見えることはできません...私はonStartメソッドの上に置く場合は、エラーがある:これをA onStartメソッドに追加しようとしています

ボイド結果型

とメソッドから値を返すことはできません

私はint、任意のアイデアに変更しようとしましたか?

私はノート

public int onStart...メソッドを実行しようとしましたが、非常にうまく動作しませんでした:私は、Androidに新たによ、これはあなたに、残念ながらない私には明白な答えに見える私の。

ありがとうございます!

public String getGiphyViews() { 
    String id_image = "qi6Yrko"; 
    String source = ""; 

    try { 
     URL url = new URL("http://imgur.com/" + id_image); 
     HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
     connection.connect(); 

     InputStream in = connection.getInputStream(); 
     BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8")); 
     StringBuilder str = new StringBuilder(); 

     String line; 
     while((line = reader.readLine()) != null) { 
      if (line.contains("views")) { 
       str.append(line); 
      } 
     } 

     in.close(); 

     source = str.toString(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    String views = source.split("<span class=\"views-" + id_image + "\">")[1].split("<")[0]; 

    TextView t = (TextView) findViewById(R.id.views); 
    assert t != null; 
    t.setText(views); 

    return views; 
} 
+0

をあなたが正確に何を意味するあなたの' onStart'方法 –

+0

のコードを投稿してください?それを呼び出すか、 'onStart'をこのコードで置き換えていましたか? – ChrisStillwell

+0

ここで戻り値を正確に使用したいですか? – Pooya

答えて

1

onStartの戻り値の型をvoidからintに変更することはできません。このメソッドは、Android Activityのライフサイクルの一部です。このメソッドを実装すると、基本的に親メソッドoverrideが使用されます。メソッドをオーバーライドするときは、常に同じ戻り値の型、メソッド名、および引数を保持する必要があります。その周りに道はない。あなたが何かを返すことを望む理由を説明すれば、それは役に立ちますか? Activityから値が必要な場合は、Activityの値を保存してからゲッターメソッドで値を渡すことをお勧めします。

詳細については、Android documentationをご確認ください。

0

メソッドをメソッド内に定義することはできません。 ONSTART外にこのコードを入れて()と、このようにONSTART内のこのメソッドを呼び出す:あなたは `onStart`でそれを入れてみましたと言ったときに

String myView; 

protected void onStart(){ 
    myView = getGiphyViews(); 
} 

public String getGiphyViews() { 
... 
} 
関連する問題