2017-06-16 53 views
0

我正在練習建築按鈕(所有測試都很好),所以我正在轉向小部件。現在,當我在Android Studio中運行時,它顯示我的構建成功,按鈕顯示在我的預覽屏幕上,但手機上的應用程序完全空白。按鈕在預覽中顯示,但不在電話上

這裏是我的.java

package com.android.woo.datetimepickerdialog; 

import android.app.DatePickerDialog; 
import android.app.TimePickerDialog; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.Button; 
import android.widget.DatePicker; 
import android.widget.EditText; 
import android.widget.TimePicker; 

import com.example.android.woo.R; 

import java.util.Calendar; 

public class MainActivity extends AppCompatActivity implements 
     View.OnClickListener { 

    Button btnDatePicker, btnTimePicker; 
    EditText txtDate, txtTime; 
    private int mYear, mMonth, mDay, mHour, mMinute; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     btnDatePicker=(Button)findViewById(R.id.btn_date); 
     btnTimePicker=(Button)findViewById(R.id.btn_time); 
     txtDate=(EditText)findViewById(R.id.in_date); 
     txtTime=(EditText)findViewById(R.id.in_time); 

     btnDatePicker.setOnClickListener(this); 
     btnTimePicker.setOnClickListener(this); 

    } 
    @Override 
    public void onClick(View v) { 

     if (v == btnDatePicker) { 

      // Get Current Date 
      final Calendar c = Calendar.getInstance(); 
      mYear = c.get(Calendar.YEAR); 
      mMonth = c.get(Calendar.MONTH); 
      mDay = c.get(Calendar.DAY_OF_MONTH); 
      DatePickerDialog datePickerDialog = new DatePickerDialog(this, 
        new DatePickerDialog.OnDateSetListener() { 

         @Override 
         public void onDateSet(DatePicker view, int year, 
               int monthOfYear, int dayOfMonth) { 

          txtDate.setText(dayOfMonth + "-" + (monthOfYear + 1) + "-" + year); 

         } 
        }, mYear, mMonth, mDay); 
      datePickerDialog.show(); 
     } 
     if (v == btnTimePicker) { 

      // Get Current Time 
      final Calendar c = Calendar.getInstance(); 
      mHour = c.get(Calendar.HOUR_OF_DAY); 
      mMinute = c.get(Calendar.MINUTE); 

      // Launch Time Picker Dialog 
      TimePickerDialog timePickerDialog = new TimePickerDialog(this, 
        new TimePickerDialog.OnTimeSetListener() { 

         @Override 
         public void onTimeSet(TimePicker view, int hourOfDay, 
               int minute) { 

          txtTime.setText(hourOfDay + ":" + minute); 
         } 
        }, mHour, mMinute, false); 
      timePickerDialog.show(); 
     } 
    } 
} 

這裏是我的activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <EditText 
     android:layout_width="200dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/in_date" 
     android:layout_marginTop="82dp" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="SELECT DATE" 
     android:id="@+id/btn_date" 
     android:layout_alignBottom="@+id/in_date" 
     android:layout_toRightOf="@+id/in_date" 
     android:layout_toEndOf="@+id/in_date" /> 
    <EditText 
     android:layout_width="200dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/in_time" 
     android:layout_below="@+id/in_date" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="SELECT TIME" 
     android:id="@+id/btn_time" 
     android:layout_below="@+id/btn_date" 
     android:layout_alignLeft="@+id/btn_date" 
     android:layout_alignStart="@+id/btn_date" /> 

    </RelativeLayout> 

添加我的清單進行審查:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.android.woo"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="Woo" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest>   
+0

是它,你必須在應用程序中唯一的活動? – Distwo

+0

很難說,沒有看到你的清單,但我猜你是要開始一個不同的活動,或有另一種變化的activity_main.xml(風景?x大?) – Distwo

+0

爲按鈕嘗試給android:背景它將可見:) – jaffar

回答

0

嘗試

import com.example.android.woo.datetimepickerdialog.R; 
+0

就是這樣!謝謝!!! @Sup –

0

看着你的manifest.xml來確保您的MainActivity是啓動器活動:

<activity android:name=".MainActivity"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN"/> 

     <category android:name="android.intent.category.LAUNCHER"/> 
    </intent-filter> 
</activity> 

如果這是件好事,檢查是否有您的activity_main.xml中的任何其他變化: enter image description here

例如,如果您的測試設備是平板電腦和XLARGE佈局是空的,你不會看到什麼。

+0

我的清單與您給出的內容相符,而且我沒有看到任何列出的變體。 –

+0

什麼是您的測試設備以及它運行的是哪個版本的Android? – Distwo

+0

三星Galaxy S7。運行Android 7.0。 @Distwo –

相關問題