Soru & Cevap

TextView Sorunu ...

03.08.2017 - 02:18

İkinci sıraya neden textView ekleyemiyorum?

Main Activity'im

​

    GridView gridView;

    String[] dizi = {
            "7", "8", "9", "C", "4", "5", "6", "/", "1", "2", "3", "*", "0", "=", "+", "-"
    };

    @Override
    protected void onCreate(javascript:void(0)Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        gridView = (GridView) findViewById(R.id.gridView1);

        ArrayAdapter<String> adapter = new MyAdapter(this);
        adapter.addAll(dizi);//diziyi adaptöre gönderdik.
        gridView.setAdapter(adapter);//gridview ve adaptörü bağladık.
        adapter.notifyDataSetChanged();
    }

    private class MyAdapter extends ArrayAdapter<String> {//adaptörü sınıf olarak oluşturduk.

        MyAdapter(@NonNull Context context) {
            super(context, android.R.layout.simple_list_item_1);
        }

        @NonNull
        @Override
        public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {// pozisyonunu alır ve çizer
            if (convertView == null) {
                convertView = getLayoutInflater().inflate(R.layout.calc_button, parent, false);//VİEWVİ GÖRSEL HALE GETİRRİ INFLATER
            }

            TextView button = (TextView) convertView;
            button.setText(getItem(position));//pozisyonu alır.

            return button;
        }
    }
}

Click and drag to move
​

calc_button.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="1">

    <TextView
        android:id="@+id/textView2"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:background="@color/colorAccent"
        android:gravity="center"
        android:text="7"
        android:textAlignment="center"
        android:layout_weight="0.05"></TextView>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:background="@color/colorAccent"
        android:gravity="center"
        android:text="8"
        android:textAlignment="center"></TextView>

    <TextView
        android:id="@+id/textView3"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:background="@color/colorAccent"
        android:gravity="center"
        android:text="9"
        android:textAlignment="center"></TextView>

    <TextView
        android:id="@+id/textView"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:background="@color/colorAccent"
        android:gravity="center"
        android:text="C"
        android:textAlignment="center"></TextView>



</LinearLayout>

Görsel kaldırıldı.

296 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-103767-1491764696.jpg
elfaybkeasln
03.08.2017 - 08:00

activity_main.xml


<?xml version="1.0" encoding="utf-8"?>

<GridView xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_margin="10dp"

android:id="@+id/gridView"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:columnWidth="150dp"

android:gravity="center"

android:horizontalSpacing="10dp"

android:numColumns="4"

android:stretchMode="columnWidth"

android:verticalSpacing="10dp" >

</GridView>

 

MainActivity.java


import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.widget.ArrayAdapter;

import android.widget.GridView;

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final String [] dizi={"7","8","9","C","4","5","6","/","1","2","3","*","0","=","+","-"};

GridView gridView=(GridView)findViewById(R.id.gridView);

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,dizi); gridView.setAdapter(adapter);

} }

 

Basit gridview mantığı yukarıda görüldüğü gibi. Özelleştirmek istersen aşağıdaki linklerden yararlanabilirsin. :)

https://www.youtube.com/watch?v=TLDEl5tudP0

https://caveofprogramming.com/guest-posts/custom-gridview-with-imageview-and-textview-in-android.html

https://www.learn2crack.com/2014/01/android-custom-gridview.html

 

 

Kardelen ÇAKAR
04.08.2017 - 08:06
Teşekkür ederim :)
picture-84564-1548924191.jpg
emrekaplan606
03.08.2017 - 03:20

Merhabalar,

tam olarak nereye eklemek istiyorsunuz anlayamadım. Eğer kastınız eklediğiniz textView ın konumunu değiştirirken sorun yaşamanızsa LinearLayout yerine RelativeLayout kullanabilirsiniz. Kolay gelsin.

picture-68435-1491411664.jpg
sametaylak
03.08.2017 - 03:19

Merhaba Kardelen,

Sorunu tam net anlamamak ile beraber LinearLayout'un orientation özelliğini vertical bir şekle getirirsen elementler dikey bir hizalanma alacaktır. Böylelikle 2. sıra ve bunu takip ederek elementler sıralanacaktır.