Android string-array from xml file to ListView
Change to
String [] fiilliste;ArrayAdapter<String> adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.verbs); fiilliste = getResources().getStringArray(R.array.fi); // move this in onCreate
I assume you have the string array fi in strings.xml
.
You probably got NullPointerException
. You require activity context for getResources()
. So move it inside onCreate
.
here is what I did. i have created a string-array in array.xml
<resources><string-array name="numbers"> <item>1</item> <item>2</item> <item>3</item> <item>4</item> <item>5</item> <item>6</item> <item>7</item> <item>8</item> <item>9</item> <item>10</item></string-array>
and put a lisView in my xml layout
<ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/listView" android:entries="@array/numbers" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" />
here is my MainActivity look like.
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {ListView listView;String[] number;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); number = getResources().getStringArray(R.array.numbers); listView = (ListView) findViewById(R.id.listView); ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, number); listView.setAdapter(adapter); listView.setOnItemClickListener(this);}@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) { TextView textView = (TextView) view; Toast.makeText(this, textView.getText() , Toast.LENGTH_SHORT).show();}
}