অ্যারে.এক্সএমএল ফাইল থেকে স্ট্রিং অ্যারে কীভাবে পাবেন


116

আমি আমার মধ্যে থাকা একটি অ্যারে থেকে কেবল একটি তালিকা প্রদর্শন করার চেষ্টা করছি arrays.xml। আমি যখন এটি এমুলেটরটিতে চালানোর চেষ্টা করি তখন আমি একটি শক্তির কাছাকাছি বার্তা পাই।

আমি জাভা ফাইলে অ্যারের সংজ্ঞা দিলে

String[] testArray = new String[] {"one","two","three","etc"};

এটি কাজ করে, কিন্তু যখন আমি ব্যবহার করি

String[] testArray = getResources().getStringArray(R.array.testArray);

এটা কাজ করে না।

আমার জাভা ফাইলটি এখানে:

package com.xtensivearts.episode.seven;

import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class Episode7 extends ListActivity {
 String[] testArray = getResources().getStringArray(R.array.testArray);

 /** Called when the activity is first created. */
 @Override
 protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  // Create an ArrayAdapter that will contain all list items
  ArrayAdapter<String> adapter;

  /* Assign the name array to that adapter and 
     also choose a simple layout for the list items */ 
  adapter = new ArrayAdapter<String>(
    this,
    android.R.layout.simple_list_item_1,
    testArray);

  // Assign the adapter to this ListActivity
  setListAdapter(adapter);
 }


}

এখানে আমার arrays.xmlফাইল

<?xml version="1.0" encoding="utf-8"?>  
<resources>  
  <array name="testArray">  
    <item>first</item>  
    <item>second</item>  
    <item>third</item>  
    <item>fourth</item>  
    <item>fifth</item>  
  </array>
</resources>

উত্তর:


213

আপনি testArrayএইভাবে আপনার ক্ষেত্রটি আরম্ভ করতে পারবেন না , কারণ অ্যাপ্লিকেশন সংস্থানগুলি এখনও প্রস্তুত নয়।

কেবল কোডটি এতে পরিবর্তন করুন:

package com.xtensivearts.episode.seven;

import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class Episode7 extends ListActivity {
    String[] mTestArray;

    /** Called when the activity is first created. */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Create an ArrayAdapter that will contain all list items
        ArrayAdapter<String> adapter;

        mTestArray = getResources().getStringArray(R.array.testArray);    

        /* Assign the name array to that adapter and 
        also choose a simple layout for the list items */ 
        adapter = new ArrayAdapter<String>(
            this,
            android.R.layout.simple_list_item_1,
            mTestArray);

        // Assign the adapter to this ListActivity
        setListAdapter(adapter);
    }
}

আমি আরও যোগ করব যে অ্যারে নামে "-" অনুমোদিত নয়। গ্রহনটি আমাকে সতর্ক করে দেয়নি, এক্সএমএল ফাইলটি ঠিক মনে হয়েছিল এবং এটি বুঝতে সমস্যা বোধ করায় আমাকে কিছুটা সময় লেগেছে। "_" কাজ ঠিক আছে।
লেসিক ২০০৮

30

আপনার অ্যারে.এক্সএমএল সঠিক নয়। এটি পছন্দ করুন

এখানে অ্যারে.এক্সএমএল ফাইল রয়েছে

<?xml version="1.0" encoding="utf-8"?>  
<resources>  
    <string-array name="testArray">  
        <item>first</item>  
        <item>second</item>  
        <item>third</item>  
        <item>fourth</item>  
        <item>fifth</item>  
   </string-array>
</resources>

ক্রিয়াকলাপ প্রসঙ্গে এবং সংস্থানগুলি শুরু করার আগে এই ক্ষেত্রটি আরম্ভ করা হবে না তা সমাধান করবে না।
লুবস হোরেসেক

2

আপনার এক্সএমএল পুরোপুরি পরিষ্কার নয়, তবে অ্যারে এক্সএমএল তাদের সংখ্যা তৈরি করে এবং / অথবা তাদের সংজ্ঞাতে সাদা স্থান রাখলে বল বন্ধ হতে পারে।

নিশ্চিত করুন যে সেগুলি কোনও লিডিং বা ট্রেলিং হোয়াইটস্পেসের মতো সংজ্ঞায়িত হয়েছে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.