我还在学习android并尝试使用SwipeStack库实现swipestack。当使用GitHub上显示的代码时,getLayoutInflater以及getActivity都无法解析。在网上阅读,似乎我需要声明一个上下文,但我不确定如何做到这一点。任何帮助都会很棒!我的代码如下:
import ...
public class RateActivity extends AppCompatActivity {
}
public class SwipeStackAdapter extends BaseAdapter {
private List<String> mData;
public SwipeStackAdapter(List<String> data) {
this.mData = data;
}
@Override
public int getCount() {
return mData.size();
}
@Override
public String getItem(int position) {
return mData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
convertView = getLayoutInflater().inflate(R.layout.card, parent, false);
TextView textViewCard = (TextView) convertView.findViewById(R.id.textViewCard);
textViewCard.setText(mData.get(position));
return convertView;
}
}
答案 0 :(得分:0)
如果从一个活动调用SwipeStackAdapter,请定义它以便它接收一个Context对象并调用它在相应的字段中传递“this”。否则,您可以将getActivity()或getApplicationContext()传递给此字段。然后在适配器中创建一个名为context的全局变量,并将您接收的上下文设置为此变量。
当你需要调用getLayoutInflater时,只需使用
context.getLayoutInflater();