1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. mrwerner, 25.04.2011 #1
    mrwerner

    mrwerner Threadstarter Android-Hilfe.de Mitglied

    Hallo,

    Ich möchte eine TextView focusierbar und drückbar machen. Das mit dem drückbar funktioniert wunderbar. Nur beim setzen des Listeners für den Fokus gibts leider Probleme bei folgendem Code:

    Layout:
    Code:
             <TextView
               style="@style/tc_month_view"
               android:text="56" 
               android:gravity="center_horizontal|top"
               android:clickable="true"
               android:onClick="OnDayClick"
               android:id="@+id/v_dayClick1"
               android:focusable="true"
             />
             <TextView
               style="@style/tc_month_view"
               android:text="56" 
               android:gravity="center_horizontal|top"
               android:clickable="true"
               android:onClick="OnDayClick"
               android:id="@+id/v_dayClick2"
               android:focusable="true"
             />
    
    Activity Code:

    Code:
    package com.mrwerner.android.syncal;
    
    import com.mrwerner.android.syncal.R;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnFocusChangeListener;
    import android.widget.Toast;
    
    
    public class MonthView extends Activity {
        /** Called when the activity is first created. */
        private final static String TAG = SynCalMonthView.class.getSimpleName();
        public OnFocusChangeListener dayFocusListener = new OnFocusChangeListener ()
        {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                Log.d(TAG, "Focus = '" + hasFocus + "' + id=" + v.getId());
            }
            
        };
        
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.layout_month_view);
            try {
    // ohne diese Zeilen wird die Activity geladen
    //            View dayView1 = findViewById(R.id.v_dayClick1);
    //            dayView1.setOnFocusChangeListener(dayFocusListener);
    //            View dayView2 = findViewById(R.id.v_dayClick2);
    //            dayView2.setOnFocusChangeListener(dayFocusListener);
            }
            catch (Exception e)
            {
                Log.e(TAG, "ERROR: onCreate: " + e.getMessage());
            }
        }
        
        
        
        public void OnDayClick(View view) {
            switch (view.getId()) {
                case R.id.v_dayClick1:
                    Log.d(TAG, "OnButtonClick  - handle click of day");
                    Toast.makeText(this, "clicked on day", Toast.LENGTH_SHORT).show();
                    break;
                case R.id.v_dayClick2:
                    Log.d(TAG, "OnButtonClick  - handle click of day");
                    Toast.makeText(this, "clicked on day", Toast.LENGTH_SHORT).show();
                    break;
                default:
                    Log.i(TAG, "OnButtonClick  - unhandled id=" + view.getId());
                    break;
            }
        }
    }
    
    Wenn ich das Kommentar vor den 4 Zeilen in der onCreate-Methode entferne krachts beim Laden der Activity. Der try-catch block bringt nichts. Die Exception wird nicht gefangen.

    Weiß jemand Rat?

    Danke im Voraus :)

    PS: In der Entlödung wird die TextView dann wahrscheinlich noch durch ein komplexeres Layout-Konstrukt ersetzt. Das sollte hier allerdings nichts zur Sache tun.
     
  2. mrwerner, 25.04.2011 #2
    mrwerner

    mrwerner Threadstarter Android-Hilfe.de Mitglied

    Jetzt hab ich das Beispiel mit Buttons anstatt TextViews gebaut. Dort funktioniert das ganze wunderbar. Wo ist da der Unterschied. Meiner Meinung nach sind beides Ableitungen von Views. Warum verhält sich das aber in dieser Hinsicht unterschiedlich?
     
  3. mrwerner, 26.04.2011 #3
    mrwerner

    mrwerner Threadstarter Android-Hilfe.de Mitglied

    OK! Ich habe jetzt das Problem gelöst. Was die Ursache war kann ich leider nicht feststellen. Ich habe meinen Code nochmal neu Schritt für Schritt aufgebaut. Jetzt funktionierts.

    Herzlichen Dank an alle die sich Gedanken darüber gemacht haben.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Widget zeigt keine ImageView an. Android App Entwicklung Montag um 09:39 Uhr
[ERLEDIGT] (Verständnis-)Probleme mit SwipeRefreshLayout Android App Entwicklung 12.08.2017
[ERLEDIGT] Probleme mit Bluetooth / Beam Ordner Android App Entwicklung 25.07.2017
[ERLEDIGT] Probleme mit AdMob Android App Entwicklung 19.07.2017
[ERLEDIGT] Probleme mit Service unter Android N Android App Entwicklung 16.07.2017
[OFFEN] Probleme in den Speicher schreiben Android App Entwicklung 13.07.2017
[ERLEDIGT] Kleine Probleme mit einer App Android App Entwicklung 14.06.2017
[OFFEN] Probleme mit Action Floating Button Android App Entwicklung 27.05.2017
[ERLEDIGT] WebView Probleme Android App Entwicklung 19.05.2017
[ERLEDIGT] Probleme mit Wear Modul Android App Entwicklung 01.05.2017
Du betrachtest das Thema "Probleme mit onFocusChangeListener auf TextViews" im Forum "Android App Entwicklung",