2016-05-22 4 views
0

私はSwitcaseのボタンをクリックするたびにイメージを取得しようとしますが、動作しません。 私はまた、エラーがないので、私は本当に問題が何かを知りません。私はすでに私が最も重要なことをしていると思います。URLからSwitch caseイメージを実装するには

のJava

import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.Button; 
import android.widget.ImageView; 

import java.io.InputStream; 
import java.net.HttpURLConnection; 
import java.net.URL; 


public class MainActivity extends AppCompatActivity { 



/** 
* ATTENTION: This was auto-generated to implement the App Indexing API. 
* See https://g.co/AppIndexing/AndroidStudio for more information. 
*/ 
// private GoogleApiClient client; 
    private ImageView iv; 
    private int a; 
    private Bitmap bitmap; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
// iv = (ImageView) findViewById(R.id.imageView1); 

    // bitmap = getBitmapFromURL("http://icons.iconarchive.com/icons /crountch/one-piece-jolly-roger/72/Luffys-flag-2-icon.png"); 
    //  iv.setImageBitmap(bitmap); 
    // ATTENTION: This was auto-generated to implement the App Indexing API. 
    // See https://g.co/AppIndexing/AndroidStudio for more information. 
    // client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build(); 
} 


public void buttonOnClick(View v) { 
    // do something when the button is clicked 
    Button button = (Button) v; 

    a = (byte) (Math.random() * 2); 

    switch (a) { 
     case 1: 
      iv = (ImageView) findViewById(R.id.imageView1); 

      bitmap = getBitmapFromURL("http://icons.iconarchive.com/icons/crountch/one-piece-jolly-roger/72/Luffys-flag-2-icon.png"); 
      iv.setImageBitmap(bitmap); 
     break; 
     // iv.setImageBitmap(bitmap); 
     case 2: 

     break; 
    } 
} 
public Bitmap getBitmapFromURL(String src) { 
    try { 
     URL url = new URL(src); 
     HttpURLConnection connection = (HttpURLConnection) url 
       .openConnection(); 
     connection.setDoInput(true); 
     connection.connect(); 
     InputStream input = connection.getInputStream(); 
     Bitmap myBitmap = BitmapFactory.decodeStream(input); 
     return myBitmap; 

    } catch (Exception e) { 
     // TODO: handle exception 
     e.printStackTrace(); 
     return null; 
    } 

} 

} 

XML

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Image text" 
    android:id="@+id/textView" 
    android:layout_below="@+id/textView2" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="82dp" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Image" 
    android:id="@+id/button" 
    android:onClick="buttonOnClick" 
    android:layout_below="@+id/textView" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="41dp" /> 

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageView1" 
    android:layout_alignParentBottom="true" 
    android:layout_alignRight="@+id/textView" 
    android:layout_alignEnd="@+id/textView" 
    android:layout_marginBottom="106dp" /> 

</RelativeLayout> 
+0

Math.randomが、それはまだ動作しませんので、問題はありませんあなたは2を掛けと切り捨てるならば、あなたは0または1 –

+0

を得ることを意味し、0と1の間の数を返します私はそれを3以上の数に変更します。 –

+0

私はちょうどあなたがすべてのケースをカバーしていないと言っています。おそらく、何も起こらないと仮定する前に、そのランダムな値を印刷してください。 –

答えて

-1

あなたは、メインスレッド上でネットワークにしようとしています。

あなたのlogcatを読めば、あなたは「android.os.NetworkOnMainThreadException」

ピカソは、両方の画像をダウンロードして、あなたの意見に置くための素晴らしいですしまいました。

参照:https://stackoverflow.com/a/3090802/5781216

+0

awh、それ-1傷つける..完全に書かれていない..私は私を助けるpoepleにupvoteになるので、私は15ポイントを取得しようとしています!申し訳ありません.. – ctrlbox

+0

あなたが賞賛を受けたい場合は、他の人にリンクするのではなく、完全な詳細な回答を提供してください。ありがとう、歓迎StackOverflow! –

関連する問題