2013-12-11 2 views
0

Я не могу получить данные из списка. Я использую синтаксический анализатор XML. Это мой код в виде списка. Если я намереваюсь просматривать свой список в новой активности, просто покажите макет пустой. не сообщение в logcat.Как я могу не получить данные из списка?

/** 
**/ 


list.setOnItemClickListener(new OnItemClickListener() { 

    @Override 
    public void onItemClick(AdapterView<?> adapter, View v, int position, long id) { 
     // getting values from selected ListItem 
     String headline = ((TextView) v.findViewById(R.id.title)).getText().toString(); 
     String date = ((TextView) v.findViewById(R.id.date)).getText().toString(); 

     //Map<String, String> myValueMap = songList.get(position); 

     // Starting new intent 
     Intent in = new Intent(getApplicationContext(), SingleMenuItemActivity.class); 
     in.putExtra(KEY_HEADLINE, headline); 
     in.putExtra(KEY_ARTICLEDATE, date); 
     startActivity(in); 

    } 
}); 

и это мой код SingleMenuItemActivity

// XML node keys 
static final String KEY_HEADLINE = "Headline"; 
static final String KEY_ARTICLEDATE = "ArticleDate"; 
static final String KEY_BODY = "Body"; 
static final String KEY_IMAGEURL = "ImageURL"; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.webnews); 

    // getting intent data 
    Intent in = getIntent(); 

    // Get XML values from previous intent 
    String headline = in.getStringExtra(KEY_HEADLINE); 
    String date = in.getStringExtra(KEY_ARTICLEDATE); 


    // Displaying all values on the screen 
    TextView lblHeadline = (TextView) findViewById(R.id.TextView01); 
    TextView lblArticleDate = (TextView) findViewById(R.id.textView02); 


    lblHeadline.setText(headline); 
    lblArticleDate.setText(date); 
    lblBody.setText(Body); 
} 
+1

делать ключи совпадают ?? и вы не отправляете тело – Raghunandan

+0

Вы получаете какое-то значение в 'headline' и' date'? –

+0

Какова ценность Тела и где он объявлен? –

ответ

0

Я предполагаю, что вы оставили вне тела.

String Body = ((TextView) v.findViewById(R.id.body)).getText().toString(); 
    in.putExtra(KEY_BODY, body); 

    ..... 

    String date = in.getStringExtra(KEY_ARTICLEDATE); 
    TextView lblBody= (TextView) findViewById(R.id.textView03); 
    lblBody.setText(Body); 
0

Ключ putExtra чувствителен к регистру, убедитесь, что для ниже одинаковы для деятельности. Вы получаете нулевые значения без каких-либо ошибок для этого, как documentation says-

static final String KEY_HEADLINE = "Headline"; 
static final String KEY_ARTICLEDATE = "ArticleDate"; 
static final String KEY_BODY = "Body"; 
static final String KEY_IMAGEURL = "ImageURL"; 

, а также если у вас есть KEY_BODY перейти от вызывающей активности затем передать его через умысел и доступ к нему с намерением здесь.

Смежные вопросы