private DatabaseHandler objectDatabaseHandler;
private RecyclerView objectRecyclerView;
private RVAdapter objectRvAdatper;
ImageButton btn = (ImageButton) findViewById(R.id.viewmore);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
PopupMenu popup= new PopupMenu(getApplicationContext(), v);//v는 클릭된 뷰를 의미
getMenuInflater().inflate(R.menu.option_menu, popup.getMenu());
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case R.id.m1:
Toast.makeText(getApplication(),"홈 화면입니다",Toast.LENGTH_SHORT).show();
startActivity(new Intent(getApplicationContext(), MainActivity.class));
break;
case R.id.m2:
Toast.makeText(getApplication(),"회사 소개입니다",Toast.LENGTH_SHORT).show();
startActivity(new Intent(getApplicationContext(), AboutActivity.class));
break;
case R.id.m3:
Toast.makeText(getApplication(),"공식 SNS로 이동합니다",Toast.LENGTH_SHORT).show();
Intent myIntent;
String url = "https://www.instagram.com/colorgolla/";
myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(myIntent);
break;
default:
break;
}
return false;
}
});
popup.show();//Popup Menu 보이기
}
});
try
{
objectRecyclerView=findViewById(R.id.imageRV);
objectDatabaseHandler=new DatabaseHandler(this);
}
catch(Exception e)
{
Toast.makeText(this, "실패", Toast.LENGTH_SHORT).show();
}
}
public void getData(View view)
{
try
{
objectRvAdatper=new RVAdapter(objectDatabaseHandler.getAllImagesData());
objectRecyclerView.setHasFixedSize(true);
objectRecyclerView.setLayoutManager(new LinearLayoutManager(this));
objectRecyclerView.setAdapter(objectRvAdatper);
}
catch(Exception e)
{
Toast.makeText(this, "실패", Toast.LENGTH_SHORT).show();
}
}
}
private RecyclerView objectRecyclerView;
private RVAdapter objectRvAdatper;
ImageButton btn = (ImageButton) findViewById(R.id.viewmore);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
PopupMenu popup= new PopupMenu(getApplicationContext(), v);//v는 클릭된 뷰를 의미
getMenuInflater().inflate(R.menu.option_menu, popup.getMenu());
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case R.id.m1:
Toast.makeText(getApplication(),"홈 화면입니다",Toast.LENGTH_SHORT).show();
startActivity(new Intent(getApplicationContext(), MainActivity.class));
break;
case R.id.m2:
Toast.makeText(getApplication(),"회사 소개입니다",Toast.LENGTH_SHORT).show();
startActivity(new Intent(getApplicationContext(), AboutActivity.class));
break;
case R.id.m3:
Toast.makeText(getApplication(),"공식 SNS로 이동합니다",Toast.LENGTH_SHORT).show();
Intent myIntent;
String url = "https://www.instagram.com/colorgolla/";
myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(myIntent);
break;
default:
break;
}
return false;
}
});
popup.show();//Popup Menu 보이기
}
});
try
{
objectRecyclerView=findViewById(R.id.imageRV);
objectDatabaseHandler=new DatabaseHandler(this);
}
catch(Exception e)
{
Toast.makeText(this, "실패", Toast.LENGTH_SHORT).show();
}
}
public void getData(View view)
{
try
{
objectRvAdatper=new RVAdapter(objectDatabaseHandler.getAllImagesData());
objectRecyclerView.setHasFixedSize(true);
objectRecyclerView.setLayoutManager(new LinearLayoutManager(this));
objectRecyclerView.setAdapter(objectRvAdatper);
}
catch(Exception e)
{
Toast.makeText(this, "실패", Toast.LENGTH_SHORT).show();
}
}
}
코딩 코린이입니다...
JAVA하는중인데
objectRvAdatper=new RVAdapter(objectDatabaseHandler.getAllImagesData()); ----->여기 부분에서 자꾸 오류가 납니다
자꾸 void type are not allowed here가 뜨는데
도대체 왜 뜨는거죠...?
objectRvAdatper 를 뷰페이지 클릭할때마다 생성해야 하나? getAllImagesData() 가 혹시 string임 int임? string이면 toString() 하삼. int여도 parseInt 나 그런 형변환 문제에서 에러 생기는 경우 있음.
데이타 자료형이 안 나와서 추측만으론 모르겠음.
1+""
고맙습니다 형님
public void getAllImagesData() { try { SQLiteDatabase objectSqLiteDatabase = this.getReadableDatabase(); ArrayList objectModelClassList = new ArrayList<>(); Cursor objectCursor = objectSqLiteDatabase.rawQuery("select * from imageInfo", null); if (objectCursor.getCount() != 0) { while (objectCursor.moveToNext()
byte[] imageBytes = objectCursor.getBlob(1); Bitmap objectBitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length); objectModelClassList.add(new ModelClass(objectBitmap)); } } else { //Toast.makeText(context,"No values", Toast.LENGTH_SHORT.show()); } } catch (Exception e) {
요렇게 되어있습니다.
뭔가가 리턴값이 void라 그런거같은데 getAllImagesData가 void리턴하는거 아님? - dc App
위에 댓글에 getallimages 썼는데... 혹시 저게 void 반환하는건가요??
public void 잖아 저거는 그냥 뭔가 작업을 수행하고 void를 리턴(아무것도 없음)한단 뜻임. 그럼 RVAdapter(void) 형태인건데 딱보니 생성자인데 void를 필요로 하는 생성자가 있을리 없지 - dc App
명쾌한 해답 감사합니다 자꾸 귀찮게 해서 죄송하지만 어떻게 해결할 수 있을까요....힌트라도 부탁드립니다...
난 자바를 하진 않아서 저 RVAdapter에 대해 모름 저거 설명한 문서에서 생성자 보고 니가 원하는 RVAdapter를 만드려면 어떤 생성자를 써야되는지 골라서 쓰셈 - dc App
넵 형님 조언 감사합니다!!