2017-04-09 1 views
-1

ListView 구성 요소를 사용하려고하는데 막혔습니다. 내 활동에서 목록을 보려고합니다. 나는 해결책을 위해 인터넷을 검색, 하지만 난 내 코드에서 잘못된 모르는ListView가 활동에 나타나지 않습니다.

activity_main.xml :

<?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:id="@+id/activity_main" 
    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.example.a05042.listviewproject.MainActivity"> 

    <ListView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_alignParentTop="true" 
     android:id="@+id/ListViewMain" 
     android:background="@android:color/holo_blue_bright" /> 
</RelativeLayout> 

activity_list.xml :

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
     android:text="TextView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:textAppearance="@style/TextAppearance.AppCompat.Display1" 
     android:textAlignment="center" /> 
</LinearLayout> 

JAVA :

public class MainActivity extends AppCompatActivity { 
    String[] myItems = {"Sony","Toshiba","Samsung","y","daniel","sold","sail"}; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     MakeListView(); 
    } 

    public void MakeListView() { 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.activity_list,myItems); 
     ListView lv = (ListView)findViewById(R.id.ListViewMain); 
     lv.setAdapter(adapter); 
    } 

} 
+0

문제가 무엇인지 확인해야합니다! –

+0

응용 프로그램 오류 응용 프로그램의 닫기 진행 상태를 시작할 때 목록을 볼 수 없습니다 ... –

답변

1

사용중인 생성자는

입니다.
/** 
    * Constructor 
    * 
    * @param context The current context. 
    * @param resource The resource ID for a layout file containing a TextView to use when 
    *     instantiating views. 
    * @param objects The objects to represent in the ListView. 
    */ 
    public ArrayAdapter(@NonNull Context context, @LayoutRes int resource, @NonNull T[] objects) { 
     this(context, resource, 0, Arrays.asList(objects)); 
    } 

ArrayAdapterTextView 인 레이아웃을 내부적으로 기대합니다. TextViewLinearLayout에 싸여 있습니다. 당신은 텍스트 뷰의 id 당신은

그래서 변경할 수간단한 목록보기를 사용하는

+1

나는 당신의 설명을 사용하고 새로운 코드를 만들었고 지금은 내 사용자 지정 목록을 사용하고 모든 작업이 도움을 주셔서 감사합니다. –

0

를 사용하는

<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:text="TextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:textAppearance="@style/TextAppearance.AppCompat.Display1" 
    android:textAlignment="center" /> 

로 레이아웃을 변경하거나 제공 할 수있는 생성자를 사용하거나 어댑터를

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, android.R.id.text1, myItems); 

또는 사용자 정의 레이아웃을 원하는 경우 항목

는 당신은 당신의 자신의 어댑터

From here

+0

처음에는 simple_list_item1을 사용하여 어댑터에 문제가 있다는 것을 이해해 주셔서 고맙습니다. –

관련 문제