Ich mache eine Kalender-App und habe ein seltsames Problem festgestellt.
Wenn ich falsch liege, wenn ich eine Kalenderansicht zu meinem Layout hinzufüge, sollte ich die Tage des Monats sehen.
Also machte ich ein neues Projekt, bei dem ich nur das CalendarView auf mein MainActivity-Layout platzierte.
Das Problem ist, dass sobald ich die App ausführen kann ich nur dies sehen und es gibt keinen Fehler.CalendarView zeigt keine Tage des Monats an
package com.example.kanye.kalendarz22;
import android.content.Intent;
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.view.Menu;
import android.view.MenuItem;
import android.widget.CalendarView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
CalendarView calendar ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.initializeCalendar();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
public void initializeCalendar() {
calendar = (CalendarView) findViewById(R.id.calendarView);
calendar.setShowWeekNumber(false);
calendar.setFirstDayOfWeek(2);
calendar.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int day) {
Toast.makeText(MainActivity.this, day + "/" + month + "/" + year, Toast.LENGTH_SHORT).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
XML-Code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_main" tools:context=".MainActivity">
<TextView android:text="Hello World!" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView" />
<CalendarView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/calendarView"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true" />
</RelativeLayout>
Ratschläge, was es zu tun, um richtig zu machen angezeigt (mit den besonderen Tagen des Monats) Ich suchte nach Berechtigungen, die zu Manifest hinzugefügt werden, aber anscheinend benötigt es keine. Übrigens bin ich mir vollkommen bewusst, dass ich die min Api Level 11 brauche, um dieses CalendarView zu verwenden.
Edit: Entschuldigen Sie, dass ich Ihnen nicht genügend Informationen gegeben habe, bei der Ursache: Mangel an Erfahrung und mein schlechtes Englisch schränkt mich ein.
Ist nicht klar, was Sie versuchen zu tun. Bitte sei spezifischer. –
Fügen Sie bitte das XML-Layout mit der Kalenderansicht hinzu. –
Verwenden Sie wrap_content nicht für Höhe und Breite. Verwenden Sie stattdessen match_parent für beide. Wenn Sie Probleme haben, verwenden Sie trotzdem eine Höhe von 320 dpi. Es wird zumindest auftauchen, aber es ist eine Schande, dass wir es so machen müssen. –