Bir listedeki değerleri dinamik olarak ayarlamaya çalışıyorum. Başlangıçta bu, onCreate
etkinliğinde yer alıyordu. Belki de ListView
nesnesinin başlatılmamış olduğunu düşünerek bunu bir düğme tıklatma olayına taşıdım. Bu basit örnek, "Ne yazık ki, ListViewTest
durdu" düğmesi ile herhangi bir istisna yığın izi bulunamadığında düğmeye bastığımda güzel bir şekilde patlar. Ayrıca, gerçek bir hedef uygulamasının, ListView
konteyner sekmesine dokunulduğunda görünene kadar patlamaması da dikkati çeker.ArrayAdapter uygulamasını her seferinde kilitleniyor uygulaması. Android Studio 2.0
El Capitan 10.11.4'teki Nexus (5X API 23) öykünücüsü ile tamamen güncelleştirilmiş bir Android Studio 2.0 kullanıyorum.
Herhangi bir ipucu takdir edilecektir.
MainActivity.java
package com.greencountrytechnical.listviewtest;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn=(Button) findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onYouTappedMe();
}
}
);
}
private void onYouTappedMe()
{
String[] noob={"why","does","this","not","work","?"};
ListView lv=(ListView) findViewById(R.id.listView);
if(lv != null) {
List<String> lvs = new ArrayList<String>(Arrays.asList(noob));
// lvs is not null and it is filled with the values from the array.
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.activity_main, lvs);
if(adapter != null)
{
lv.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
}
}
}
Düzen:
<?xml version="1.0" encoding="utf-8"?>
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.greencountrytechnical.listviewtest.MainActivity">
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/button" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
Teşekkürler. Android önekini özledim. İşe yarıyor. Cevabı kabul etmeden önce 5 dakika beklemem lazım. – zx5000
Lütfen android.R.layout.simple_list_item_1 adresini yerleştirdiğinizden ve projenizi temizlediğinizden emin olun. Mevcut. Tekrar çalışmıyorsa, projenizi yeniden inşa edin – Eenvincible
Çalıştığına sevindim! – Eenvincible