Son Forum Aktiviteleri

4
Tümünü Gör

Fragment cast işlemi hatası

package com.milcanx.fragmentlerarasiveri;

import android.app.FragmentManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class FragmentBOSS extends AppCompatActivity implements Communicator {

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

    }

    @Override
    public void respond(String data) {

            FragmentManager manager = getFragmentManager();
            FragmentB fmB = (FragmentB) manager.findFragmentById(R.id.fragmentBinLayout);
            fmB.ChangeText(data);


    }
}

 

 

Burada   FragmentB fmB = (FragmentB) manager.findFragmentById(R.id.fragmentBinLayout); işleminde hata alıyorum

Hata şu 

 

06-17 08:52:18.044 10128-10128/com.milcanx.test E/AndroidRuntime: FATAL EXCEPTION: main
                                                                  Process: com.milcanx.test, PID: 10128
                                                                  java.lang.ClassCastException: com.milcanx.fragmentlerarasiveri.FragmentA cannot be cast to com.milcanx.fragmentlerarasiveri.FragmentB
                                                                      at com.milcanx.fragmentlerarasiveri.FragmentBOSS.respond(FragmentBOSS.java:20)
                                                                      at com.milcanx.fragmentlerarasiveri.FragmentA.onClick(FragmentA.java:32)
                                                                      at android.view.View.performClick(View.java:4438)
                                                                      at android.view.View$PerformClick.run(View.java:18422)
                                                                      at android.os.Handler.handleCallback(Handler.java:733)
                                                                      at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                      at android.os.Looper.loop(Looper.java:136)
                                                                      at android.app.ActivityThread.main(ActivityThread.java:5001)
                                                                      at java.lang.reflect.Method.invokeNative(Native Method)
                                                                      at java.lang.reflect.Method.invoke(Method.java:515)
                                                                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
                                                                      at dalvik.system.NativeStart.main(Native Method)

 

 

 

7 yıl 11 ay önce yanıtladın

Telefon rehberini çekme işlemi While döngüsü sorunu


izlemiş olduğum bir derste anlatılanı yazdım 
ancak her isime tüm numaraların 2 katı kadar rehbere kişi ekleyip gösteriyor 
yani 100 kişi varsa a ismini 200 sefer gösteriyor. 
Bu sorunun ikinci while dan kaynaklandığını düşünüyorum 
ancak konuda yetersiz olduğumdan çözemedim. Bakabilir misiniz.




package com.milcanx.cont_provider;

import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.provider.ContactsContract;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

public class Content_Provider_Act extends AppCompatActivity {

    final List<Kisi> kisiler = new ArrayList<Kisi>();

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

        final ListView list = (ListView) findViewById(R.id.lvList);
        OzelAdapter adapter = new OzelAdapter(this, kisiler);
        list.setAdapter(adapter);

        final Uri content_uri = ContactsContract.Contacts.CONTENT_URI;
        final String ID = ContactsContract.Contacts._ID;
        final String Isim = ContactsContract.Contacts.DISPLAY_NAME;
        final String Tel_Durumu = ContactsContract.Contacts.HAS_PHONE_NUMBER;

        final Uri Phone_uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
        final String Phone_ID = ContactsContract.CommonDataKinds.Phone.CONTACT_ID;
        final String Phone_Number = ContactsContract.CommonDataKinds.Phone.NUMBER;

        ContentResolver contentresolver = getContentResolver();
        Cursor cursor = contentresolver.query(content_uri, null, null, null, null);

        assert cursor != null;
        while (cursor.moveToNext()) {
            String kisi_id = cursor.getString(cursor.getColumnIndex(ID));
            String kisi_isim = cursor.getString(cursor.getColumnIndex(Isim));
            String tel_durum = cursor.getString(cursor.getColumnIndex(Tel_Durumu));

            Bitmap photo = null;
            try {
                InputStream inputstream = ContactsContract.Contacts.openContactPhotoInputStream(getContentResolver(), ContentUris.withAppendedId(content_uri, Long.valueOf(kisi_id)));
                if (inputstream != null) photo = BitmapFactory.decodeStream(inputstream);
                if (inputstream != null) {
                    inputstream.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }

            if (tel_durum.equals("1")) {
                Cursor phonecursor = contentresolver.query(Phone_uri, null, Phone_ID + " -?", new String[]{kisi_id}, null);
                assert phonecursor != null;
                while (phonecursor.moveToNext()) {
                    final String t = phonecursor.getString(phonecursor.getColumnIndex(Phone_Number));
                    Kisi k = new Kisi(kisi_isim, t);
                    k.photo = photo;
                    kisiler.add(k);
                    list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                            Intent i = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + kisiler.get(position).getTel_no()));
                            startActivity(i);
                        }
                    });

                }
                phonecursor.close();
            }

        }


    }
}

 

7 yıl 11 ay önce yanıtladın

ücretli tamplate nasıl kullanılır

Material Design UI Android Template App , almış olduğum uygulamadır.

İçerisinde bulunan bu modülleri tek tek nasıl kullanabilirim. İlk açıldığında yani run denildiğinde NotBoringAction çalışıyor. Seçim yapamıyorum

 

 

 

Görsel kaldırıldı.

8 yıl önce yanıtladın

ücretli tamplate nasıl kullanılır

02 Mayıs 2016 tarihinde cevaplandı
Her klasör içinde kendi manifesti var bu yüzden her klasör kendi içinde bir butun amacım istediğim klasörü istediğim zaman çalıştırmak. Desiğinizi denedim ancak klasörleri çağıramıyorum