내 앱용 시스템에 일종의 기호를 만들고 사용자가 세부 정보를 추가하고 목록에서 선택할 수있는 지점까지 작업하고 있습니다.ListViewItem을 클릭 할 때 새 액티비티로 이동
사용자가 UserInput 클래스에 정보를 입력하면이 정보는 Firebase 데이터베이스에 저장됩니다. 그런 다음 데이터가 ListView 항목에 표시되지만 먼저 CustomAdapter 클래스에 배치됩니다. 이 수업은 내 문제가있는 곳입니다.
사용자는 setOnClickListener()를 통해이 목록보기와 상호 작용할 수 있습니다. 목록의 항목을 선택하면 프로그램에 토스트가 표시되고 문제가없는 것으로 표시됩니다. 지금 알아 내고자하는 것은 사용자가 자신의 이름과 세부 정보가 포함 된 목록보기 항목을 클릭하면 Menu_Activity.java라는 주 메뉴 활동으로 바로 이동하도록하는 것입니다.
메시지 Gradle을
Error:(71, 44) error: no suitable constructor found for Intent(<anonymous OnClickListener>,Class<Menu_Activity>)
constructor Intent.Intent(String,Uri) is not applicable
(argument mismatch; <anonymous OnClickListener> cannot be converted to String)
constructor Intent.Intent(Context,Class<?>) is not applicable
(argument mismatch; <anonymous OnClickListener> cannot be converted to Context)
error:cannot find symbol method startActivity(Intent)
CustomAdapter.java
package uk.ac.napier.newsreader.Details_UI;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import uk.ac.napier.newsreader.Home_Screen_Activity;
import uk.ac.napier.newsreader.Menu_Activity;
import uk.ac.napier.newsreader.R;
import uk.ac.napier.newsreader.Details_UserInput.User;
import uk.ac.napier.newsreader.Routes_Activity;
/**
* Created by MarkB on 14/03/2017.
*/
public class CustomAdapter extends BaseAdapter {
Context c;
ArrayList<User> users;
public CustomAdapter (Context c, ArrayList<User> users) {
this.c = c;
this.users = users;
}
@Override
public int getCount() {
return users.size();
}
@Override
public Object getItem(int position) {
return users.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView==null)
{
convertView = LayoutInflater.from(c).inflate(R.layout.model,parent,false);
}
TextView nameTxt = (TextView) convertView.findViewById(R.id.nameTxt);
TextView ageTxt = (TextView) convertView.findViewById(R.id.ageTxt);
TextView weightTxt = (TextView) convertView.findViewById(R.id.weightTxt);
final User u = (User) this.getItem(position);
nameTxt.setText(u.getName());
ageTxt.setText(u.getAge());
weightTxt.setText(u.getWeight());
//ONITEMCLICK
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Toast.makeText(c,u.getName(), Toast.LENGTH_SHORT).show();
Intent startMenuActivity = new Intent(this, Menu_Activity.class);
startActivity(startMenuActivity);
}
});
return convertView;
}
}
에 텐트를 만들 때 문제가 나타납니다 "(이, Menu_Activity 구축 .수업);" 여기
Cannot resolve constructor 'Intent(anonymous android.view.View.OnClickListener, java.lang.Class<uk.ac.napier.newsreader.Menu_Activity>)'
특권을 참조 즉 당신이 당신의 활동 내에서 onItemClickListener 전화를하고 온 클릭 메소드 내에서 원하는 뷰의 ID에 대한 switch 문을 사용하여 넣을 수있는 인터페이스를 가지고 거기에 의도. 관련 항목 : http://stackoverflow.com/questions/18405299/onitemclicklistener-using-arrayadapter-for-listview –