2016-01-30 44 views
1

我想創建一個ImageView,其圖像源每週更改一次。我從這裏開始,但應用程序總是崩潰,所以不幸我無法運行它。我在GitHub上搜索,沒有發現任何有用的東西。這是我的Java代碼:如何創建基於日期的ImageView(每週更改)

package com.zahit.mehmet.onlinetp; 

import android.media.Image; 
import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.widget.ImageView; 
import android.widget.TextView; 

import java.text.SimpleDateFormat; 
import java.util.Calendar; 

public class Ders_Programi extends AppCompatActivity { 

    TextView textView; 
    ImageView imageview; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_ders__programi); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     textView = (TextView) findViewById(R.id.textview_date); 

     imageview = (ImageView) findViewById(R.id.imageprogram); 

     Calendar calendar = Calendar.getInstance(); 
     SimpleDateFormat mdformat = new SimpleDateFormat("yyyyMMdd"); 
     String strdate = mdformat.format(calendar.getTime()); 
     int currenttime; 
     currenttime = Integer.valueOf(strdate.toString()); 

     textView.setText(strdate.toString()); 

     if(20160115< currenttime){ 
      if (currenttime< 20160213) { 

       imageview.setBackgroundResource(R.drawable.filepage33); 

      } 
      else { 

      } 

     } 
     else { 


     } 

    } 


} 

這裏是我的XML文件:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="com.zahit.mehmet.onlinetp.Ders_Programi" 
    tools:showIn="@layout/activity_ders__programi" 
    android:orientation="vertical"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="New Text" 
     android:id="@+id/textview_date" /> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/imageprogram" /> 
</LinearLayout> 

任何想法?

+0

「app always crash」,發佈您的logcat –

+0

首先,fill_parent已棄用了很長時間,請改用match_parent。其次,哪個可繪製的文件夾,你是否包含你的圖像源? –

回答

0

你的問題來自於setBackgroundResource()召喚爲logcat的說:

at android.support.v7.widget.AppCompatImageView.setBackgroundResource(AppCompatImageView.java:77) 

哪一種資源,你想加載?

+0

正如你所說我的圖像分辨率很高。非常感謝你 –

1

從只看你的源代碼(沒有任何logcat)我會說你的崩潰的原因是NullPointerException,因爲找不到Toolbar。在下面的代碼片段你引用一個ToolbarR.id.toolbar一個id這是不是在你的佈局聲明,從而回到null

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
setSupportActionBar(toolbar); 

因此,爲了解決你的問題,你不得不一個Toolbar添加到您的佈局:

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_height="?attr/actionBarSize" 
    android:layout_width="match_parent" 
    android:background="?attr/colorPrimary" /> 

這應該解決您的問題(同樣,只有當它實際上是你得到一個NullPointerException,張貼實際的logcat將是有益的)。

相關問題