2016-07-20 8 views
-1

リサイクルビューを作成する方法については、slidenerd youtubersチュートリアルに従っていますが、マテリアルデザインのシリーズはナビゲーションレイアウトシリーズから始まります。私が確信しているように、彼がやっていることなしにRecyclerビューを表示するにはどうすればいいですか?リサイクルビューをナビゲーションレイアウトなしで表示

彼は、onCreateの上のrecyclerViewをprivate RecyclerView recyclerViewとして定義します。ここで

EDITは、アクティビティコードです:ここで

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.RecyclerView; 
import android.support.v7.widget.Toolbar; 
import android.view.Menu; 
import android.view.MenuItem; 

public class Lines extends AppCompatActivity { 

private RecyclerView recyclerView; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.lines); 

    Toolbar myToolbar = (Toolbar) findViewById(R.id.toolbar_top); 
    setSupportActionBar(myToolbar); 
    getSupportActionBar().setTitle(null); 
    recyclerView = (RecyclerView) findViewById(R.id.line_list); 

} 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main_item, menu); 
    return true; 
} 
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    int i = item.getItemId(); 
    switch (i) { 
     case R.id.action_search: 
      Intent s = new Intent(this, SearchActivity.class); 
      startActivity(s); 
      return true; 

     case R.id.action_add: 
      Intent a = new Intent(this, AddLine.class); 
      startActivity(a); 
      return true; 


     case R.id.action_wheel: 
      Intent w = new Intent(this, Settings.class); 
      startActivity(w); 
      return true; 

    } 
    return super.onOptionsItemSelected(item); 
} 

} 

は.xmlファイルです:

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

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar_top" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="#000000" 
    android:minHeight="?attr/actionBarSize"> 

    <TextView 
     android:id="@+id/toolbar_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:text="LINES" 
     android:textColor="#ffffff" 
     android:textSize="25sp" /> 
</android.support.v7.widget.Toolbar> 

<android.support.v7.widget.RecyclerView 
    android:id="@+id/line_list" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

</android.support.v7.widget.RecyclerView> 

</LinearLayout> 
+0

あなたが何を求めている、正確に?あなたは 'Fragment'を使わないように頼んでいますか? –

+0

私にはうまく見えます...あなたはビューにデータをロードしていませんが、空白のページが表示されます。 –

+0

一般に、MainActivityのコンテンツビューにRecyclerViewを配置します。次に、ViewByIdなどを検索し、データを読み込むようにアダプタを設定します。 –

答えて

1

@patrickやあここアダプタ に渡し、あなたの不足しているレイアウトマネージャとデータソースコードですあなたの混乱を解決するのに役立つスニペット:

oncreateメソッド: cyclerView =(RecyclerView)findViewById(R.id.recyclerview);アダプターおよびビューホルダー用

 recyclerAdapter=new RecyclerAdapter(Activity.this,Datasource); 
     recyclerView.setAdapter(recyclerAdapter); 
    recyclerView.setLayoutManager(new LinearLayoutManager(Activity.this)); 

クラス:

public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder> { 


private final ArrayList<datasourcemodel> ngoDatas; 
private final LayoutInflater inflater; 

Context context; 

RecyclerAdapter(Context context, ArrayList<datasourcemodel> datasource) { 
    inflater = LayoutInflater.from(context); 
    this.datasource = datasource; 
    this.context = context; 

} 


@Override 
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
    View view = inflater.inflate(R.layout.list_row, parent, false); // list base design 
    ViewHolder holder = new ViewHolder(view); 
    return holder; 
} 

@Override 
public void onBindViewHolder(ViewHolder holder, int position) { 
    holder.title.setText(); 
    holder.desc.setText(); 
} 

@Override 
public int getItemCount() { 
    return datasource.size(); 
} 

class ViewHolder extends RecyclerView.ViewHolder { 
    ImageView imageView; 
    TextView title, desc; 

    public ViewHolder(View itemView) { 
     super(itemView); 
     itemView.setOnClickListener(this); 
     imageView = (ImageView) itemView.findViewById(R.id.imageView1); 
     title = (TextView) itemView.findViewById(R.id.titles); 
     desc = (TextView) itemView.findViewById(R.id.dec); 
    } 
} 

}

でDatasouceを置き換えるあなたの

+0

ちょうどあなたの投稿を見て、それを試してみることができました。ちょうどRecyclerViewを作成しましたが、コードを投稿したばかりでした。あなたはそれを見て気にしますか? http://stackoverflow.com/questions/38471697/recyclerview-not-appearing –

関連する問題