排球图像作为下一个活动背景图像

排球图像作为下一个活动背景图像,第1张

概述这是一个简单的问题,但使我感到困惑.我有以下第一项活动和详细信息活动.第一次活动第二次活动作为第一个活动的列表视图,使用凌空下载了json数据,我能够将标题和图像发送到details活动,但是现在我想将传递的图像设置为details活动背景图片,这是我的第一个活动代码:主要活动:pub

这是一个简单的问题,但使我感到困惑.我有以下第一项活动和详细信息活动.

第一次活动

第二次活动

作为第一个活动的列表视图,使用凌空下载了Json数据,我能够将标题和图像发送到details活动,但是现在我想将传递的图像设置为details活动背景图片,这是我的第一个活动代码:

主要活动:

public class MainActivity extends Activity {// Log tagprivate static final String TAG = MainActivity.class.getSimplename();// MovIEs Json urlprivate static final String url = "http://API.androIDhive.info/Json/movIEs.Json";private ProgressDialog pDialog;private List<MovIE> movIEList = new ArrayList<MovIE>();private ListVIEw ListVIEw;private Customlistadapter adapter;private static String title="Title";private static String bitmap="thumbnailUrl";@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.activity_main);    Intent newActivity2=new Intent();    setResult(RESulT_OK, newActivity2);    ListVIEw = (ListVIEw) findVIEwByID(R.ID.List);    adapter = new Customlistadapter(this, movIEList);    ListVIEw.setAdapter(adapter);    pDialog = new ProgressDialog(this);    // Showing progress dialog before making http request    pDialog.setMessage("Loading...");    pDialog.show();    // changing action bar color    getActionbar().setBackgroundDrawable(            new colorDrawable(color.parsecolor("#1b1b1b")));    // Creating volley request obj    JsonArrayRequest movIEReq = new JsonArrayRequest(url,            new Response.Listener<JsONArray>() {                @OverrIDe                public voID onResponse(JsONArray response) {                    Log.d(TAG, response.toString());                    pDialog.dismiss();                    // Parsing Json                    for (int i = 0; i < response.length(); i++) {                        try {                            JsONObject obj = response.getJsONObject(i);                            MovIE movIE = new MovIE();                            movIE.setTitle(obj.getString("Title"));                            movIE.setthumbnailUrl(obj.getString("image"));                            movIE.setrating(((Number) obj.get("rating"))                                    .doubleValue());                            movIE.setYear(obj.getInt("releaseYear"));                            // Genre is Json array                            JsONArray genreArry = obj.getJsONArray("genre");                            ArrayList<String> genre = new ArrayList<String>();                            for (int j = 0; j < genreArry.length(); j++) {                                genre.add((String) genreArry.get(j));                            }                            movIE.setGenre(genre);                            // adding movIE to movIEs array                            movIEList.add(movIE);                        } catch (JsONException e) {                            e.printstacktrace();                        }                    }                    // notifying List adapter about data changes                    // so that it renders the List vIEw with updated data                    adapter.notifyDataSetChanged();                }            }, new Response.ErrorListener() {                @OverrIDe                public voID one rrorResponse(VolleyError error) {                    if (error instanceof NoConnectionError){                        Toast.makeText(getBaseContext(), "Bummer..There's No Internet connection!", Toast.LENGTH_LONG).show();                    }                }            });    // Adding request to request queue    AppController.getInstance().addToRequestQueue(movIEReq);    ListVIEw.setonItemClickListener(new AdapterVIEw.OnItemClickListener() {        @OverrIDe        public voID onItemClick(AdapterVIEw<?> parent, VIEw vIEw,                int position, long ID) {            // Todo auto-generated method stub            String name = ((TextVIEw) vIEw.findVIEwByID(R.ID.Title)).getText().toString();            bitmap = ((MovIE)movIEList.get(position)).getthumbnailUrl();            Intent intent = new Intent(MainActivity.this, Detail.class);                intent.putExtra(Title, name);            intent.putExtra("images", bitmap);            startActivity(intent);        }    });}@OverrIDepublic boolean onCreateOptionsMenu(Menu menu) {    // Inflate the menu; this adds items to the action bar if it is present.    getMenuInflater().inflate(R.menu.main, menu);    return true;}

}

这是“详细信息”活动:

public class Detail extends Activity{private static String Title = "Title";@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {    // Todo auto-generated method stub    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.detail);    getActionbar().hIDe();    Intent i = getIntent();    ImageLoader imageLoader = AppController.getInstance().getimageLoader();    String name = i.getStringExtra(Title);    String bitmap = i.getStringExtra("images");    NetworkImageVIEw thumbnail = (NetworkImageVIEw) findVIEwByID(R.ID.thumbnail);    thumbnail.setimageUrl(bitmap, imageLoader);    TextVIEw lblname = (TextVIEw) findVIEwByID(R.ID.name_label);    lblname.setText(name);}public voID onClickHandler(VIEw v){    switch(v.getID()){    case R.ID.thumbnail:startActivity(new Intent(this,MainActivity.class));    }}

}

如果需要,我会上传更多代码.

Coustomlistadapter:

public class Customlistadapter extends BaseAdapter {private Activity activity;private LayoutInflater inflater;private List<MovIE> movIEItems;ImageLoader imageLoader = AppController.getInstance().getimageLoader();public Customlistadapter(Activity activity, List<MovIE> movIEItems) {    this.activity = activity;    this.movIEItems = movIEItems;}@OverrIDepublic int getCount() {    return movIEItems.size();}@OverrIDepublic Object getItem(int location) {    return movIEItems.get(location);}@OverrIDepublic long getItemID(int position) {    return position;}@OverrIDepublic VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) {    if (inflater == null)        inflater = (LayoutInflater) activity                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);    if (convertVIEw == null)        convertVIEw = inflater.inflate(R.layout.List_row, null);    if (imageLoader == null)        imageLoader = AppController.getInstance().getimageLoader();    NetworkImageVIEw thumbnail = (NetworkImageVIEw) convertVIEw            .findVIEwByID(R.ID.thumbnail);    TextVIEw Title = (TextVIEw) convertVIEw.findVIEwByID(R.ID.Title);    TextVIEw rating = (TextVIEw) convertVIEw.findVIEwByID(R.ID.rating);    TextVIEw genre = (TextVIEw) convertVIEw.findVIEwByID(R.ID.genre);    TextVIEw year = (TextVIEw) convertVIEw.findVIEwByID(R.ID.releaseYear);    // getting movIE data for the row    MovIE m = movIEItems.get(position);    // thumbnail image    thumbnail.setimageUrl(m.getthumbnailUrl(), imageLoader);    // Title    Title.setText(m.getTitle());    // rating    rating.setText("rating: " + String.valueOf(m.getrating()));    // genre    String genreStr = "";    for (String str : m.getGenre()) {        genreStr += str + ", ";    }    genreStr = genreStr.length() > 0 ? genreStr.substring(0,            genreStr.length() - 2) : genreStr;    genre.setText(genreStr);    // release year    year.setText(String.valueOf(m.getYear()));    return convertVIEw;}

}

和detail.xml

<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"xmlns:tools="http://schemas.androID.com/tools"androID:layout_wIDth="wrap_content"androID:layout_height="match_parent"androID:background="#ffffff" >        <com.androID.volley.toolBox.NetworkImageVIEw    androID:ID="@+ID/thumbnail"     androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:layout_alignParenttop="true"    androID:layout_centerHorizontal="true"    androID:layout_margintop="42dp"    tools:ignore="ContentDescription"/>        <linearLayout    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:gravity="center_horizontal"    androID:orIEntation="vertical" >        <TextVIEw        androID:ID="@+ID/name_label"        androID:layout_wIDth="fill_parent"        androID:layout_height="wrap_content"        androID:textSize="20sp"        androID:divIDer="@color/List_divIDer"        androID:divIDerHeight="1dp" />    </linearLayout>		 	</relativeLayout>

我是这方面的新手,因此我们将不胜感激.非常感谢!

解决方法:

干得好!!

内部MainActivity:

ListVIEw.setonItemClickListener(new AdapterVIEw.OnItemClickListener() {    @OverrIDe    public voID onItemClick(AdapterVIEw<?> parent, VIEw vIEw, int position, long ID) {        // your code        BitmapDrawable bd = (BitmapDrawable) ((NetworkImageVIEw) vIEw.findVIEwByID(R.ID.thumbnail))                .getDrawable();        Bitmap bitmap=bd.getBitmap();        ByteArrayOutputStream baos = new ByteArrayOutputStream();        bd.getBitmap().compress(Bitmap.CompressFormat.PNG, 100, baos);         byte[] imgByte = baos.toByteArray();        Intent intent = new Intent(MainActivity.this, Detail.class);        intent.putExtra("image", imgByte);        // any other extra you need to pass        startActivity(intent);    }}

内部细节:

Bundle extras = getIntent().getExtras();byte[] b = extras.getByteArray("image");Bitmap bmp = BitmapFactory.decodeByteArray(b, 0, b.length);BitmapDrawable background = new BitmapDrawable(bmp);findVIEwByID(R.ID.root_layout).setBackgroundDrawable(background);

内部detail.xml

为您的relativeLayout分配一个ID

< relativeLayout xmlns:androID =“ http://schemas.androID.com/apk/res/androID”
    androID:ID =“ @ ID / root_layout”

总结

以上是内存溢出为你收集整理的排球图像作为下一个活动背景图像全部内容,希望文章能够帮你解决排球图像作为下一个活动背景图像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1089306.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存