2013-03-27 1 views
0

listview를 클릭하면 textvalue가 listview 값으로 변경됩니다. 나는 이것을 할 수 없었다. 도와주세요.Simple Listview emulator-5554 null 오류

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/LinearLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context=".MainActivity" > 

    <ListView 
     android:id="@+id/listvalue" 
     android:layout_width="160dp" 
     android:layout_weight="0.02" 
     android:text="@string/listval" /> 
    <TextView 
     android:id="@id/textvalue" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/txtval" /> 
    <Button 
     android:id="@+id/stopBtn" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/stopBtn" /> 

</LinearLayout> 

MainActivity.java

public class MainActivity extends ListActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     String[] songlist={"Green","Yellow","Black","White","Red"}; 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>this,R.layout.activity_main, R.id.txtvalue, songlist); 

     setListAdapter(adapter); 
    } 

    @Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
     String item = (String) getListAdapter().getItem(position); 
     Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show(); 
    } 
} 
+0

답변을 얻을 수 있습니까? – Harshid

+0

목록이 보이지 않습니다. – bama

+0

내 대답을 참조하십시오 도움이 될 수 있습니다. – Harshid

답변

0

을보십시오.

<TextView 
     android:id="@id/textvalue" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/txtval" /> 

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.activity_main, R.id.txtvalue, songlist); 

몇 가지 유용한 링크. 당신이 어떤 문제를 발견하면

http://windrealm.org/tutorials/android/android-listview.php

http://androidtrainningcenter.blogspot.in/2012/09/simple-listview-example-in-android.html

후 알려 주시기 바랍니다.

+0

이제 알았습니다. 당신의 예는 아주 분명합니다. 많이 감사합니다. – bama

1

당신은 텍스트 뷰를 얻고 값을 설정하지 않습니다.

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 
    String item = (String) getListAdapter().getItem(position); 
    Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show(); 
    TextView tv = (TextView) findViewById(R.id.textvalue); 
    tv.setText(item); 
} 
+0

시도했지만 주에서 치명적인 오류가 발생했습니다. – bama

+0

이 문제를 해결할 수 있도록 도와주세요. 감사합니다. – bama

+0

치명적인 예외가 발생했습니다. 콘텐츠에 listview가 있어야합니다. android.R.id.list. – bama

0

은 코드 아래 사용

public class MainActivity extends ListActivity { 

      String[] songlist={"Green","Yellow","Black","White","Red"}; 
      TextView tv; 

      @Override 
      public void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.activity_main); 
       tv = (TextView) findViewById(R.id.textvalue); 
       //String[] songlist={"Green","Yellow","Black","White","Red"}; 
       ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.Layout.simple_list_item_1, songlist); 

       setListAdapter(adapter); 
     } 

      @Override 
      protected void onListItemClick(ListView l, View v, int position, long id) { 
      String item = songlist[position]; 
      Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show(); 

      tv.setText(item); 
     } 
    } 

레이아웃 파일에서이 android:id="@+id/textvalue"

+0

에뮬레이터에서 실행할 때 목록이 비어 있습니다. – bama

+0

이 줄 변경 : ArrayAdapter adapter = new ArrayAdapter this, android.R.Layout.simple_list_item_1, songlist); –

+0

감사합니다. 나는 code.list를 사용하여 마침내 작동하고 있습니다. 좋습니다. – bama

0

이 줄 android:id="@id/textvalue"을 대체 당신은이를 교체해야이 하나

ListView listView=getListView(); 
     setListAdapter(adapter); 

     listView.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
       String item = (String) getListAdapter().getItem(position); 
     Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show(); 
    } 
}