2012-10-20 34 views
2

我想從URL下載不同的圖像,並在單擊btn1時顯示其中一個圖像,而在單擊btn2時顯示另一個圖像。我怎麼做?這是我到目前爲止已經試過:如何在buttonclick上顯示不同的下載圖像

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentTransaction; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 



    public class MainActivity extends FragmentActivity { 
Fragment fragment; 
Button btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9; 


@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 



    btn1=(Button)findViewById(R.id.btn1); 
    btn2=(Button)findViewById(R.id.btn2); 
    btn3=(Button)findViewById(R.id.btn3); 
    btn4=(Button)findViewById(R.id.btn4); 
    btn5=(Button)findViewById(R.id.btn5); 
    btn6=(Button)findViewById(R.id.btn6); 
    btn7=(Button)findViewById(R.id.btn7); 
    btn8=(Button)findViewById(R.id.btn8); 
    btn9=(Button)findViewById(R.id.btn9); 

    FragmentManager fm = getSupportFragmentManager(); 
    FragmentTransaction ft = fm.beginTransaction(); 

    StartFragment myFragment = new StartFragment(); 
    ft.add(R.id.myFragment, myFragment); 
    ft.commit(); 

    btn1.setOnClickListener(btnOnClickListener); 
    btn2.setOnClickListener(btnOnClickListener); 
    btn3.setOnClickListener(btnOnClickListener); 
    btn4.setOnClickListener(btnOnClickListener); 
    btn5.setOnClickListener(btnOnClickListener); 
    btn6.setOnClickListener(btnOnClickListener); 
    btn7.setOnClickListener(btnOnClickListener); 
    btn8.setOnClickListener(btnOnClickListener); 
    btn9.setOnClickListener(btnOnClickListener); 
} 



    Button.OnClickListener btnOnClickListener = new Button.OnClickListener() 
{ 
    @Override 
    public void onClick(View v) 
{ 


     Fragment newFragment; 

     if (v == btn1){ 
      newFragment = new Fragment1(); 
     }else if (v == btn2){ 
      newFragment = new Fragment2(); 
     }else if (v == btn3){ 
      newFragment = new Fragment3(); 
     }else if (v == btn4){ 
      newFragment = new Fragment4(); 
     }else if (v == btn5){ 
      newFragment = new Fragment5(); 
     }else if (v == btn6){ 
      newFragment = new Fragment6(); 
     }else if (v == btn7){ 
      newFragment = new Fragment7(); 
     }else if (v == btn8){ 
      newFragment = new Fragment8(); 
     }else if (v == btn9){ 
      newFragment = new Fragment9(); 
     }else { 
      newFragment = new StartFragment(); 
     } 

     FragmentTransaction transaction =            getSupportFragmentManager().beginTransaction(); 
     transaction.replace(R.id.myFragment, newFragment); 
     transaction.addToBackStack(null); 
     transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); 
     transaction.commit(); 




    } 


    }; 




} 

回答

0

在你的onClick,一個按鈕的每一種情況下,你點擊了可以調用這個方法

位圖bmImg;

void downloadFile(String fileUrl){ 
URL myFileUrl =null; 
try { 
myFileUrl= new URL(fileUrl); 
} catch (MalformedURLException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} 
try { 
HttpURLConnection conn= (HttpURLConnection)myFileUrl.openConnection(); 
conn.setDoInput(true); 
conn.connect(); 
int length = conn.getContentLength(); 
int[] bitmapData =new int[length]; 
byte[] bitmapData2 =new byte[length]; 
InputStream is = conn.getInputStream(); 

bmImg = BitmapFactory.decodeStream(is); 
imView.setImageBitmap(bmImg); 
} catch (IOException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} 
+0

謝謝,現在正在努力工作!儘管如此,仍然有錯誤 – user1761800

相關問題